Эта задача может быть сделано с помощью одной командной строки в пакетном файле, если есть определенно никогда 1.jpg
и 01.jpg
в в каталоге, и в каталоге с *.jpg
файлов нет a.jpg
, b.jpg
и т. д.
@for %%I in (?.jpg) do @ren %%I 0%%I
Чтобы сделать пакетный файл более полезным, как добавить его в Послать папки и использовать его с помощью контекстного меню (правая кнопка мыши) на 1 или более выбранных каталогах, содержащих файлы изображений JPEG, он может быть продлен до поддерживайте опцию один или несколько путей папок в качестве параметра.
@echo off
set "Folder=%CD%"
:NextFolder
if not "%~1" == "" set "Folder=%~f1"
if "%Folder:~-1%" == "\" set "Folder=%Folder:~0,-1%"
for %%I in ("%Folder%\?.jpg") do ren "%%~fI" "0%%~nxI"
shift
if not "%~1" == "" goto NextFolder
set "Folder="
Это пакетные файлы переименовывает * .jpg файлы с одного символа в качестве имени файла по умолчанию только в текущем каталоге. Но если командный файл вызывается с 1 или более папками (не проверяется), пакетный файл переименовывает файлы ?.jpg
во все указанные папки.
Пути папок, переданные в пакетный файл, могут быть относительными или абсолютными путями с обратным слэшем или без них.
Чтобы понять используемые команды и как они работают, откройте окно командной строки, выполните там следующие команды и тщательно прочитайте все страницы справки, отображаемые для каждой команды.
echo /?
for /?
goto /?
if /?
ren /?
set /?
shift /?
Обратите внимание: командный файл не является 100% отказоустойчивым, так как он не проверяет пути к папкам или найденные файлы * .jpg с единственным символом в качестве имени файла и не проверяет файл, уже существующий с новым имя файла. Однако сообщения об ошибках печатаются, если возникает ошибка, так как файл с новым именем уже существует.
У вас есть решение для DOS? Или вы собираетесь запустить его с помощью командной строки Windows ('cmd.exe')? – Melebius
Мне нужно решение пакетного файла –
на самом деле любой скрипт, выполнивший задание, которое может выполняться в окнах –