Пакетный тип дублирует строки

Код ниже работает как диаграмма, за исключением того, что когда я открываю целевой файл, каждая строка появляется напечатанной дважды! Я удалил целевой файл и проверил много раз. Я не запускаю его дважды.

@echo off
setlocal enableDelayedExpansion
set "sourcelocation=\\whatever\Outbox\"
set targetlocation="G:\whatever\SharedData\\"
set "tmplocation=C:\tmpmerges\\"
set refdate=20151113
set versionID=000001
set entity=WTV
echo ...merging files
for %%f in (!tmplocation!*_WTVS_*!refdate!*_V!versionID!.txt) do type "%%f" >> !tmplocation!S_!entity!_WTVS_!refdate!_V!versionID!.txt
echo file merge completed
pause

1 ответ

Не совсем понимаю, почему вы используете отложенное расширение для всех ваших переменных. Но вы можете попробовать это с вашей командой FOR.

for /F "delims=" %%f in ('dir /a-d /b "!tmplocation!*_WTVS_*!refdate!*_V!versionID!.txt"') do type "%%~f" >> !tmplocation!S_!entity!_WTVS_!refdate!_V!versionID!.txt
Другие вопросы по тегам