CALL BATCHFILE2.BAT
fará exatamente o que você deseja, conforme explicado em
COMMAND /C BATCHFILE2.BAT
também funcionaria, com desvantagens de possível consumo adicional de memória, conforme o link
Estou tentando fazer com que alguns arquivos em lote funcionem.
O primeiro que eu tenho (que funciona) leva um .rar
de uma unidade para outra e dá o mesmo nome aos arquivos colocados em rar e então copia um arquivo rename.bat para o destino.
@ECHO OFF
cd /d J:\xxx
set path=C:\Program Files\WinRAR
FOR /f "delims=" %%d IN ('DIR /B') DO md J:\xxx\%%~nd
FOR /f "delims=" %%d IN ('DIR /B') DO WinRAR a -m0 -ep -vn -v500000B "xxx\%%~nd\%%~nd.rar" "%%~fd"
cd /d J:\xxx
FOR /f "delims=" %%d IN ('DIR /B') DO copy J:\xxx\rename.bat J:\xxx\%%~nxd
EXIT
O segundo chama rename.bat e o executa, mas funciona apenas parcialmente, pois chama o rename.bat, mas não executa apenas uma nova janela.
@ECHO OFF
cd /d J:\xxx
for /f "delims=" %%n IN ('DIR /B') DO start J:\xxx\%%~n\rename.bat
EXIT
e o rename.bat tem esta aparência:
for /f "Tokens=*" %%f in ('dir /l/b/a-d') do (rename "%%f" "%%f")
Esse trabalho só se eu executar os arquivos no diretório, mas não funcionaria quando chamado.
Alguém tem alguma ideia para que isso aconteça, já que estou perdida por boas ideias por enquanto.
Se isso pudesse ser feito em um único .bat, eu também adoraria isso.
Tags batch-file