Я пытаюсь написать пакетный скрипт, который выполняет следующие действия:
Когда папка перетаскивается в пакетный скрипт, она обрабатывает каждый файл в этой папке.
Я сталкиваюсь с проблемой с определенными именами файлов, которые содержат восклицательные знаки.Например:
!.txt
или !!!.txt
Сейчас я просто пытаюсь переименовать файл, чтобы продемонстрировать проблему:
@echo off
SetLocal EnableDelayedExpansion
set folder=%~1
set count=0
for /r "%folder%" %%G in (*) do (
set fullpath=%%G
set fileExtension=%%~xG
call :processFile
)
goto end
:processFile
echo "fullpath = %fullpath%"
echo "fileExtension = %fileExtension%"
rename "%fullpath%" "temporary_filename_500%fileExtension%"
set /a count+=1
echo.
goto :eof
:end
echo "%count% files processed."
pause
Это дает мнеошибка "Система не может найти указанный файл."Тем не менее, это работает, если я изменю имя файла на что-то простое, например «test.webm». Как я могу сделать скрипт более устойчивым?