1

Я пытаюсь заставить работать некоторые командные файлы.

Первый, который у меня есть (который работает), берет .rar с одного диска на другой и дает dir то же имя, что и файлы, помещенные в rar, а затем копирует файл rename.bat в место назначения.

@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

Второй вызывает rename.bat и выполняет его, но только частично работает, так как он вызывает rename.bat, но не выполняет, только открывая новое окно.

@ECHO OFF
cd /d J:\xxx
for /f "delims=" %%n IN ('DIR /B') DO start J:\xxx\%%~n\rename.bat
EXIT

и rename.bat выглядит так:

for /f "Tokens=*" %%f in ('dir /l/b/a-d') do (rename "%%f" "%%f")

Это работает, если я просто запускаю файлы в директории, но не будет работать при вызове.

У любого есть идея сделать это, потому что я потерян для хороших идей на данный момент.

Если бы это можно было сделать за один раз .bat, мне бы это тоже понравилось.

1 ответ1

1

CALL BATCHFILE2.BAT будет делать именно то, что вы хотите, как объяснено в

https://stackoverflow.com/questions/1103994/how-to-run-multiple-bat-files-within-a-bat-file

COMMAND /C BATCHFILE2.BAT также будет работать, с недостатками возможного дополнительного потребления памяти, в соответствии с http://support.microsoft.com/kb/34768

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .