Я использую пакетный файл для добавления нескольких имен файлов.
Для файлов: 1.txt, 2.txt, 3.txt, 4.txt, 5.txt — я хочу добавить copy_1.txt
set "nname=copy_"
for %%A in (*.txt) do (
ren %%A %nname%%%A
)
exit
Однако кажется, что цикл возвращается к первому файлу и повторно добавляет имя файла.
Вот вывод cmd:
> for %A in (*.txt) do (ren %A copy_%A )
> (ren 1.txt copy_1.txt )
> (ren 2.txt copy_2.txt )
> (ren 3.txt copy_3.txt )
> (ren 4.txt copy_4.txt )
> (ren 5.txt copy_5.txt )
> (ren copy_1.txt copy_copy_1.txt )
Может ли кто-нибудь объяснить мне, почему это происходит и как можно избежать этой проблемы?
Я пытался добавить «обработчик исключений», но это бесполезно.
set "nname=copy_"
for %%A in (*.txt) do (
if exist %nname%%%A goto :exit
ren %%A %nname%%%A
)
:exit
echo file exists
Заранее спасибо!