@echo off
setlocal
set "clientdir=\\enterprise\INFACTCP\CLIENT"
set "newfilename=%~1"
set /p "fileset=Enter database to replace: " || exit /b 0
for %%A in (%fileset%) do (
for %%B in (CHR HED PRD IDX INF TAD) do (
if "%%~B" == "HED" if defined newfilename (
copy "%clientdir%\%%~A.%%~B" "%clientdir%\%newfilename%.NEW"
)
move /y "%clientdir%\%%~A.%%~B" "%clientdir%\"
)
del "\\enterprise\INFACT\INFACTCP\LOG\%%~A.CHK"
)
В приглашении ввода вы можете ввести имена, т.е. card "my book" chain key
.
Это имена card
, my book
, chain
и key
с двойным
цитаты с них сняты. Если ничего не введено, скрипт выйдет,
с помощью exit /b 0
.
1-й цикл for
установит для каждого имени значение %%A
. 2-х вложенная for
петля
установит %%B
для каждого добавочного номера. Расширение HED
необходимо скопировать
до его перемещения, иначе он не будет существовать для копии, поэтому он копируется
до того, как произойдет какое-либо перемещение. Имя файла с расширением CHK
будет
быть удаленным. Циклы будут продолжаться, пока весь набор файлов не будет завершен.
Просмотр for /?
набора файлов ( set ), который находится в самом верху.