Автоматически переименовывать несколько файлов из нескольких подпапок через windows cmd

0

Я использую следующий скрипт через Windows cmd для автоматического копирования нескольких файлов, расположенных / полученных из нескольких подкаталогов в один каталог:

cd /d "C:\example files\various\raw files"

for /r %d in (*) do copy "%d" "C:\example files\conso"

Я ставлю \ y в конце скрипта, если хочу перезаписать дубликаты файлов.

Однако моя дилемма в том, что я хочу не перезаписывать эти файлы, а автоматически переименовывать их.

Есть ли в Windows cmd какая-либо другая команда, которая пытается скопировать эти файлы и переименовать их, если найдены дубликаты?

Фрэнсис Оуано Понсе
источник
2
Вы можете адаптировать это к вашим потребностям
SΛLVΘ
Привет @SalvoF, Ни один из этих скриптов не работал для меня. Это довольно сложно. Кстати, я только начинающий с точки зрения CMD и сценариев. Есть ли другой способ, кроме этих предложений. Большое спасибо.
Фрэнсис Оуано Понсе

Ответы:

0

Вот командный файл. Я использую cpфункцию резервного копирования команды. Программу можно найти в \usr\local\wbinпапке этого заархивированного файла (проект UnxUtils). Распакуйте исполняемый файл в любую папку в вашем %PATH%.

@echo off
setlocal EnableDelayedExpansion

rem Set VERSION_CONTROL variable, read by `cp' *nix command
set VERSION_CONTROL=t

rem Define origin and destination folders
set "_orig=C:\example files\various\raw files"
set "_dest=C:\example files\conso"

for /r "%_orig%" %%F in (*.*) do cp -b "%%F" "%_dest%"
for %%N in ("%_dest%\*.*") do (
    set _ext=%%~xN
    if "!_ext:~-1!" == "~" (
       set "_name=%%~nN"
       ren "%%N" "!_name:~0,-4!(!_ext:~-2,1!)!_name:~-4,4!"
    )
)
SΛLVΘ
источник
1) Я не проверяю, что уже находится в папке назначения. 2) Не удается управлять более чем 10 одинаковыми именами файлов (это, я надеюсь, маловероятно). 3) Названия файлов, !вызывающие проблемы,
SΛLVΘ
Привет @SalvoF, спасибо, что нашли время. Я найду способ заставить ваше предложение работать. Мне трудно понимать языки программирования :) Я финансовый аудитор и не очень разбираюсь в IT-программировании.
Фрэнсис Оуано Понсе
NP. Я тоже не профи ... но если у вас возникнут трудности, попробуйте спросить. На заметку: когда я писал «10 одинаковых имен файлов», я имел в виду, что для каждого файла, конечно, нет никаких ограничений на обрабатываемые файлы
SΛLVΘ
Хорошо. Я попытаюсь заставить это работать.
Фрэнсис Оуано Понсе