Passando Parâmetros de Linha de Comando através de schtasks

0

Eu estou tentando escrever um script em lotes onde posso clicar com o botão direito do mouse em um arquivo e executar um prompt de comando como administrador para executar o arquivo (para executar o pickiness do Windows 10 sobre arquivos de driver com certificados insuficientes). Isso funciona principalmente até agora, mas eu encontrei ajuda para a última edição.

O script

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

O resultado:

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 . . .

Uma nova janela é aberta (taskeng.exe, não cmd.exe, que é ímpar) e me fornece o caminho que você obtém ao executá-la como administrador, mas não possui argumentos.

C:\WINDOWS\system32>

Como obtenho o prompt de comando aberto para aceitar o argumento que estou tentando dar?

    
por Holland Wilson 10.03.2016 / 19:26

1 resposta

0

Descobri isso. O CMD precisa da opção / C para saber o que fazer com o parâmetro.

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
    
por 11.03.2016 / 09:54