мы OCRing весь наш заказ на продажу в нашем офисе. Файлы PDF создаются на основе захваченных данных. Файлы выглядят так: S123456.pdf, S239463.pdf. иногда программное обеспечение OCR «читает» «S» как «5». (файлы в конечном итоге создаются как 5123456.pdf.) Я ищу пакетный файл для среды командной строки Windows, который будет переименовывать только файлы с первым символом, начинающимся с «5», переименовать его в «S» и оставить остальное целое. предпочтительно, чтобы он применялся ко всем подпапкам. Я гуглил, пытался изменить некоторые примеры.. Не могу заставить их работать.. Пожалуйста, помогите!
Скрипт для пакетного переименования на основе первого символа исходного имени файла?
comment
Вы уверены, что первый символ всегда S?
- person Qantas 94 Heavy   schedule 13.09.2013
Ответы (2)
Это должно работать - он будет отображать только команды ren на экране, поэтому, если он выглядит нормально, удалите echo
@echo off
setlocal enabledelayedexpansion
for /r %%a in (5*.pdf) do (
set "name=%%~nxa"
echo ren "%%a" "S!name:~1!
)
person
foxidrive
schedule
13.09.2013
Простое переименование подстановочного знака на самом деле сделает именно то, что вы хотите:
ren 5*.pdf S*.pdf
person
krisku
schedule
13.09.2013
+1 - Действительно работает. Кому интересно, см. Как команда Windows RENAME интерпретирует подстановочные знаки?
- person dbenham; 13.09.2013
Он не обрабатывает все папки.
- person foxidrive; 13.09.2013