У меня есть пакетный скрипт, расположенный в другой папке. (\ test remove \)Удалить строку timestamp из имен файлов в папке
Я хочу удалить 14 символов из всех .csv в другой папке (\ test remove \ remove from here \) папка, из которой она удаляет символы, может быть где угодно (подкаталог является примером)
- немного фона, 14 символов являются временной меткой (YYYYMMDDHHMMSS), хочет удалить метку из CSV-файлов
Когда я бег моего сценария удаляет символы из папки, в которой партия скрипт.
setlocal EnableDelayedExpansion
set removeFileLocation="C:\...\Desktop\test remove\remove from here\"
for /r %removeFileLocation% %%x in (*.csv) do (
set "oldname=%%~Nx"
set "newname=!oldname:~,-14!"
ren "!oldname!.csv" "!newname!.csv"
)
При запуске также я получаю «Система не может найти указанный файл». однако он все же успешно удаляет символы из CSV-файлов.
Просто замените 'ren '! Oldname! .csv" "! Newname! .csv" 'с' ren "%% ~ dpx! Oldname! .csv" "! Newname! .csv" ' –