2013-08-28 5 views
0

Я пытаюсь сделать командный файл (скажем, a.bat), который при запуске создает еще один пакетный файл (скажем, b.bat). Теперь я использую b.bat переименовать определенный код file.The для переименования,Пакетный файл для запуска другого командного файла

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 

SET "folder=path\to the\file" 

::Action 
CD /d "%folder%" 
FOR %%F IN ("old filename") DO (
MOVE "%%F" "new filename" 
) 

Код в a.bat писать код в b.bat есть

@echo off 

set [email protected] off 
set VarTwo=SETLOCAL ENABLEDELAYEDEXPANSION 
set VarThree=::Action 
set VarFour=CD /d "path\to the\file" 
set VarFive=FOR %%F IN ("old filename") DO (
set VarSix= MOVE "%%F" "new filename" 
set VarSeven=) 

echo %VarOne% >> %Output%\test.bat 
echo %VarTwo% >> %Output%\test.bat 
echo %VarThree% >> %Output%\test.bat 
echo %VarFour% >> %Output%\test.bat 
echo %VarFive% >> %Output%\test.bat 
echo %VarSix% >> %Output%\test.bat 
echo %VarSeven% >> %Output%\test.bat 

Теперь проблема заключается в том, что когда b.bat генерируется именно так,

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 

SET "folder=path\to the\file" 

::Action 
CD /d "" 
FOR %F IN ("old filename") DO (
MOVE "%F" "new filename" 
) 

папку%% и% от %% F ушел. Так как бы я понял? Помоги мне, пожалуйста.

+1

использование 4% s -> 'set VarFive = FOR %%%% F IN (" old filename ") DO (' – npocmaka

+0

Вы должны удвоить каждый '%' –

+0

Спасибо вам большое обоим моим брозам. – user2717098

ответ

0

Какие npocmaka и LS_dev в комментариях были верны. Вы должны удвоить каждый % и использование:

set VarFive=FOR %%%%F IN ("old filename") DO (

Я лично проверил оба из них и может подтвердить.

Смежные вопросы