3

Я пытаюсь включить решение этого вопроса в Windows 7, но пока безуспешно:

Любая возможность изменить значение по умолчанию "Копировать здесь" в Windows XP с «Copy of {name}. {Ext}» на «{name}. {Ext} .copy».

Я попытался создать файл .cmd, но не достиг того, чего хотел.

Мой основной вопрос: предположим, что в папке уже есть файл xxx.ext. Когда я копирую в ту же папку файл с тем же именем, он называется xxx(1).ext. Я хочу назвать это как xxx_1.ext. Не могли бы вы сказать мне способ для этого?

Есть ли настройки по умолчанию, которые у меня где-то меняются?

1 ответ1

2

Это не совсем «xxx (1).ext» в Windows 7. «Имя файла.ext» копируется в «Имя файла - Copy.ext», затем «Имя файла - Копировать (2).ext», «Имя файла - Копировать (3).ext "и так далее. Вместо этого вы хотите, чтобы «File Name.ext» копировался в «File Name_1.ext», «File Name_2.ext» и так далее? Файл cmd может быть легко изменен соответствующим образом:

for %%f in (%*) do call :try_copy %%f 1
goto :eof

:try_copy
if not exist "%~n1_%2%~x1" goto :copy
call :try_next %1 %2
goto :eof

:copy
copy %1 "%~n1_%2%~x1"
goto :eof

:try_next
if "%2" == "" ( set _next=1 ) else ( set /a _next=%2 + 1 )
call :try_copy %1 %_next%
goto :eof

Редактировать: согласно приведенному ниже обсуждению, модифицированный пакетный файл позволяет копировать файлы в определенную папку и последовательно переименовывать:

REM Specify your destination path below without quotes or trailing backslash
set folder=I:\New folder

for %%f in (%*) do call :try_copy %%f 1
goto :eof

:try_copy
if not exist "%folder%\%~n1_%2%~x1" goto :copy
call :try_next %1 %2
goto :eof

:copy
copy %1 "%folder%\%~n1_%2%~x1"
goto :eof

:try_next
if "%2" == "" ( set _next=1 ) else ( set /a _next=%2 + 1 )
call :try_copy %1 %_next%
goto :eof

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .