ผ่านพารามิเตอร์บรรทัดคำสั่งผ่าน schtasks


1

ฉันพยายามเขียนสคริปต์แบทช์ที่ฉันสามารถคลิกขวาที่ไฟล์และเรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบเพื่อเรียกใช้ไฟล์ (เพื่อเรียกใช้งานรอบ ๆ Windows 10 เกี่ยวกับไฟล์ไดรเวอร์ที่มีใบรับรองไม่เพียงพอ) มันใช้งานได้จนถึงตอนนี้ แต่ฉันได้ขอความช่วยเหลือสำหรับปัญหาล่าสุด

สคริปต์

set d=%DATE%
set t=%TIME%

schtasks /create /tn RunCMD /tr "cmd '%1'" /rl HIGHEST /ru <user> /rp <password> /sc once /st %t:~0,8% /sd %d:~4,10% /v1 /z

schtasks /run /tn RunCMD

pause

ผลลัพธ์:

D:\Backup\Drivers>set d=Thu 03/10/2016

D:\Backup\Drivers>set t=12:14:24.29

D:\Backup\Drivers>schtasks /create /tn RunCMD /tr "cmd '"D:\Backup\Drivers\IS_RT2860_W7-5.0.59.0_W8-5.0.59.0_W8Blue-5.0.59.0_W10-5.0.57.0_20150909_5.0.59.0_Free.exe"'" /rl HIGHEST /ru <user> /rp <password> /sc once /st 12:14:24 /sd 03/10/2016 /v1 /z
SUCCESS: The scheduled task "RunCMD" has successfully been created.

D:\Backup\Drivers>schtasks /run /tn RunCMD
SUCCESS: Attempted to run the scheduled task "RunCMD".

D:\Backup\Drivers>pause
Press any key to continue . . .

หน้าต่างใหม่เปิดขึ้น (taskeng.exe ไม่ใช่ cmd.exe ซึ่งเป็นเลขคี่) และให้เส้นทางที่คุณได้รับเมื่อเรียกใช้ในฐานะผู้ดูแลระบบ แต่ไม่มีข้อโต้แย้งใด ๆ

C:\WINDOWS\system32>

ฉันจะได้รับพรอมต์คำสั่งเปิดเพื่อยอมรับอาร์กิวเมนต์ที่ฉันพยายามจะให้ได้อย่างไร


ลองโดยไม่มี'ตัวละคร
DavidPostill

คำตอบ:


1

คิดออก CMD ต้องการสวิตช์ / C เพื่อให้ทราบว่าต้องทำอย่างไรกับพารามิเตอร์

set d=%DATE%
set t=%TIME%

schtasks /create /tn RunCMD /tr "cmd /C '%1'" /rl HIGHEST /ru <user> /rp <password> /sc once /st %t:~0,8% /sd %d:~4,10% /v1 /z

schtasks /run /tn RunCMD

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