
Возникли проблемы с получением правильного синтаксиса команды. Нам нужно регулярно добавлять начальный ноль к пакету файлов в каталоге. Я не могу загрузить и установить программное обеспечение для этого. Операционная система — Windows-7. Длина имен файлов варьируется. Например, 000165-CityName1.pdf — 0000165-CityName1.pdf 000166-CityNameLonger2.pdf — 0000166-CityNameLonger2.pdf и т. д. Ищете команду переименования, которая бы работала? Может кто-нибудь предложить ее, буду признателен. Я перепробовал полдюжины, но безуспешно.
решение1
Этот скрипт powershell должен отлично работать, чтобы добавлять 0 в начало каждого имени файла в папке. Сохраните этот скрипт как .ps1.
Get-ChildItem -Path "C:\temp\cityfiles\" |
Rename-Item -NewName {$_.BaseName.insert(0,'0') + $_.Extension}
Эта команда берет каждый файл внутри папки cityfiles и добавляет «0» в начало имени каждого файла.
решение2
Как добавить начальный ноль к группе имен файлов?
Используйте следующую команду:
for /f %f in ('dir /b *.pdf') do ren "%f" "0%f"
Для использования в пакетном файле замените %
на %%
:
for /f %%f in ('dir /b *.pdf') do ren "%%f" "0%%f"
Пример использования:
F:\test\test>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
24/06/2016 21:39 <DIR> .
24/06/2016 21:39 <DIR> ..
24/06/2016 21:38 0 000165-CityName1.pdf
24/06/2016 21:38 0 000166-CityNameLonger2.pdf
2 File(s) 0 bytes
2 Dir(s) 1,769,011,425,280 bytes free
F:\test\test>for /f %f in ('dir /b *.pdf') do ren "%f" "0%f"
F:\test\test>ren "000165-CityName1.pdf" "0000165-CityName1.pdf"
F:\test\test>ren "000166-CityNameLonger2.pdf" "0000166-CityNameLonger2.pdf"
F:\test\test>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
24/06/2016 21:40 <DIR> .
24/06/2016 21:40 <DIR> ..
24/06/2016 21:38 0 0000165-CityName1.pdf
24/06/2016 21:38 0 0000166-CityNameLonger2.pdf
2 File(s) 0 bytes
2 Dir(s) 1,769,011,425,280 bytes free
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD- Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- реж- Отображение списка файлов и подпапок.
- для /ф- Циклическая команда по результатам другой команды.
- рен- Переименовать файл или файлы.
решение3
Хотя вы можете поместить это в bat-файл и добавить некоторые параметры и проверки, перейти в командную строку и перейти в нужную папку.
- рен.pdf-файл 0.pdf
Добавлю ноль перед именем для любого PDF-файла