Вот пакетный файл для этой задачи:
@echo off
set "SourceFolder=C:\Workspace"
if not exist "%SourceFolder%\1\*.jpg" goto EndBatch
for %%I in ("%SourceFolder%\1\*.jpg") do (
ren "%%I" "scan.jpg" 2>nul
if errorlevel 1 goto EndBatch
goto RenameDOC
)
:RenameDOC
for %%I in ("%SourceFolder%\2\*.doc") do (
ren "%%I" "scan.doc" 2>nul
goto RenameJPG
)
:RenameJPG
for %%I in ("%SourceFolder%\3\*.jpg") do (
ren "%%I" "scan.jpg" 2>nul
goto EndBatch
)
:EndBatch
set "SourceFolder=
Пакетный файл ничего не делает, если не может найти не скрытый * .jpg файл в каталоге C:\Workspace\1
.
Переименовывает первый найденный * .jpg файл в каталоге C:\Workspace\1
в scan.jpg
.Если это не удалось из-за отсутствия NTFS или прав доступа к файлу для этой операции, или в этом каталоге уже есть файл scan.jpg
, пакетный файл больше ничего не делает.
При успешном переименовании first * .jpg файл в каталоге C:\Workspace\1
до scan.jpg
пакетный файл затем ищет первый не скрытый * .doc файл в каталоге C:\Workspace\2
и переименовывает его в scan.doc
.Независимо от результата этой операции переименования, пакетный файл продолжается с переименованием файла в следующий каталог C:\Workspace\3
, в котором снова просто первый не скрытый * .jpg файл переименовывается в scan.jpg
без оценки результата этой операции переименования.
Последний пакетный файл удаляет переменную среды, определенную сверху, и завершается.
Для понимания используемых команд и их работы откройте окно командной строки, выполните там следующие команды иочень внимательно прочитайте все справочные страницы, отображаемые для каждой команды.
echo /?
for /?
goto /?
if /?
ren /?
set /?