ใช้ไฟล์แบทช์เพื่อเรียกใช้ exe และแสดงผลลัพธ์เป็นข้อความ


0

ฉันมีโปรแกรมที่ทำงานจากพรอมต์คำสั่งที่จะทำงานอย่างต่อเนื่องเพราะมันเป็นข้อความที่ส่งออก ฉันสามารถเอาท์พุทข้อความไปยังไฟล์ข้อความโดยการเพิ่ม > path\filename.ext ไปยังจุดสิ้นสุด ฉันต้องการเขียนไฟล์แบตช์ที่จะเขียนไปยังไฟล์ข้อความ ควรประทับเวลาที่จุดเริ่มต้นรันเป็นเวลา 30 วินาทีจากนั้นประทับเวลาที่สิ้นสุด นี่คือสิ่งที่ฉันมี:

@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-3 delims=/:/ " %%a in ('time /t') do (set mytime=%%a:%%b %%c)
set mytime=%mytime: =% 
echo %mydate%_%mytime% > path\results.txt
start runfile.exe --option=alpha path/data.ext >> path\results.txt
timeout /t 30
taskkill /im runfile.exe /f
echo %mydate%_%mytime% >> path\results.txt

มี 2 ​​ปัญหากับเรื่องนี้ 1) มันไม่ได้ส่งออก runfile.exe ไปยังไฟล์ข้อความของฉันและ 2) มันจะไม่ยุติ runfile.exe หลังจาก 30 วินาที

คำตอบ:


0

1) ในของคุณ start runfile.xe parms บรรทัดลองใช้ start "" runfile.exe parms

2) เมื่อคุณเริ่ม runfile.exe ชื่อภาพคืออะไร เมื่อคุณเริ่มตัวจัดการงานจะยังคงเรียกว่า "runfile.exe" หรือเปลี่ยนเป็นอย่างอื่น

ฉันมีโปรแกรมที่ใช้ตัวเรียกใช้งาน ตัวเรียกใช้ชื่อว่า "runme.exe" (นี่เป็นเพียงตัวอย่าง) ซึ่งจะเปิดโปรแกรมอื่น ๆ สำหรับโปรแกรมที่เรียกว่า "programname.exe" หากฉันต้องการฆ่าภารกิจนั้นฉันจะต้องฆ่า "programname.exe" เป็น นั่นคือโปรแกรมที่ยังคงอยู่ในหน่วยความจำหลังจาก "runme.exe" ดำเนินการเสร็จสิ้น ตรวจสอบและดูว่าโปรแกรมของคุณทำสิ่งที่คล้ายกันหรือไม่

หวังว่านี่จะช่วยได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.