Пакетное задание Match and Move - PullRequest
0 голосов
/ 29 января 2010

Я пишу пакетное задание DOS для просмотра двух разных каталогов, идентификации файлов с одинаковыми первыми шестью символами, а затем перемещения обоих сопоставленных файлов в третий каталог. Я получаю синтаксическую ошибку в следующем коде. Есть предложения?

Файл 1:

set CopyCount=0


for %%f in (??????*.tif) do call ..\MatchMove1.bat %%f

cd ..

if %CopyCount%==0 goto end

ECHO %date%-%time% %CopyCount% "Matched and Copied" >> MatchMove.log
ECHO %date%-%time% "**************************************************" >> MatchMove.log

echo %CopyCount%

:end

Файл 2 (MatchMove1)

set xFile=%1
set pFile=%xFile:~0,6%

cd..

if not exist "Copy3_Certificates_tiff\%Pfile%*.tif"  PAUSE goto end

copy "Copy4_Working_Documents\%pfile%*.tif" "Copy5_Cert_WorkDoc_Match"
copy "Copy3_Certificates_tiff\%pfile%*.tif" "Copy5_Cert_WorkDoc_Match"

rename "Copy4_Working_Documents\%xFile%" "%xFile%*.cpy"
rename "Copy3_Certificates_tiff\%pfile%*.tif" "%pfile%*.tif.cpy"

ECHO %date%-%time% "Files starting with "%pfile%" copied" >> ..\MatchMove.log

set /a CopyCount =%CopyCount%+1

:end

Ответы [ 2 ]

0 голосов
/ 29 января 2010

Чтобы избежать этого вида проблем, я бы поместил ваши две .BAT в один файл, используя синтаксис CALL :label. Смотри HELP CALL.

Кроме того, чтобы ваши SET команды работали должным образом, вам необходимо убедиться, что у вас включено отложенное расширение . См. HELP SET для объяснения.

Вставить эту строку

SETLOCAL ENABLEDELAYEDEXPANSION

в качестве первой строки вашего командного файла.

и используйте !CopyCount! вместо %CopyCount%, чтобы получить переменную среды.

0 голосов
/ 29 января 2010
I'm getting: '..\MatchMove1.bat' is not recognized as an internal or external command,operable program or batch file

Это говорит о том, что он не может найти MatchMove1.bat, находится ли он в родительской папке папки, откуда вы начали процесс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...