it-swarm-pt.tech

Como criar um arquivo em lotes no Windows usando "start" com um caminho e comando com espaços

Eu preciso criar um arquivo em lotes que inicia vários aplicativos de console em um arquivo .cmd do Windows. Isso pode ser feito usando o comando start.

No entanto, o comando tem um caminho nele. Eu também preciso passar parâmetros que também tenham espaços. Como fazer isso?

Por exemplo. arquivo em lote

start "c:\path with spaces\app.exe" param1 "param with spaces"
74
Tim

Na verdade, seu exemplo não funcionará (embora no começo eu achasse que também funcionaria). Com base na ajuda do comando Iniciar, o primeiro parâmetro é o nome da janela Prompt de Comando recém-criada, e o segundo e o terceiro devem ser o caminho para o aplicativo e seus parâmetros, respectivamente. Se você adicionar outro "" antes do caminho para o aplicativo, ele deve funcionar (pelo menos para mim). Use algo assim:

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

Você pode alterar o primeiro argumento para ser o que você quiser que o título do novo comando Prompt seja. Se for um aplicativo do Windows criado, o comando Prompt não será exibido e o título não importará.

158
Andy

Escapar do caminho com apóstrofos está correto, mas o comando start usa um parâmetro contendo o título da nova janela. Esse parâmetro é detectado pelos apóstrofos adjacentes, portanto, seu aplicativo não é executado.

Tente algo como isto:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
15
Steffen
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

Quando usei a sugestão acima, tenho:

'c:\caminho' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo de lote. 

Eu acho que o segundo comando qoutation impede que o comando seja executado. Depois de alguma pesquisa abaixo da solução, salve o meu dia:

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"
2
Mustafa Kemal

Curiosamente, parece que no Windows Embedded Compact 7, você não pode especificar uma seqüência de título. O primeiro parâmetro deve ser o comando ou programa.

1
Mark Agate

Você deve usar algo assim:

iniciar/d C:\Windows\System32\calc.exe

start/d "C:\Arquivos de programas\Mozilla

Firefox "firefox.exe start/d

"C:\Arquivos de Programas\Microsoft

Office\Office12 "Excel.EXE

Também aconselho você a usar o editor de arquivos em lote especial - Dr.Batcher

0
user243871