Как переименовать все имена файлов, чтобы они были одинаковыми в разных подпапках? - PullRequest
0 голосов
/ 24 апреля 2018

Как мне изменить имя файла на одно и то же из другой папки, например:

C:\Workspace\1\a.jpg
C:\Workspace\2\ab.doc
C:\Workspace\3\abc.jpg

на

C:\Workspace\1\scan.jpg
C:\Workspace\2\scan.doc
C:\Workspace\3\scan.jpg

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018
get-childItem -recurse | Where {$_.extension -eq ".jpg"} | rename-item -NewName { "scan.jpg" }

Я использую этот метод, чтобы решить эту проблему.Надеюсь, его работа также для других.Я использую PowerShell.

0 голосов
/ 25 апреля 2018

Вот пакетный файл для этой задачи:

@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 /?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...