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

Есть ли опция или инструмент, который позволит мне изменить соглашение об именах по умолчанию для файлов, скопированных в один и тот же каталог в Windows (XP) и выше.

например, из: Копировать {имя}.{ext} в: {имя}.{ext} .copy

В настоящее время:

original_file.php
Copy of original_file.php

Желаемая:

original_file.php
original_file.php.copy

Это значительно упростит поиск / работу с дублированными файлами (они автоматически сортируются), и тип файла (по расширению) изменится, поэтому он не сможет случайно что-то "сломать" (например, если это был файл *.java, после компиляции I получит ошибки)

2 ответа

Решение

Если я правильно понимаю, вы хотите создать дубликаты файлов в одном каталоге. Я создал.cmd файл, чтобы сделать это через меню "Отправить". Если name.ext.copy файл уже существует, он создаст:

  • name.ext.copy2
  • name.ext.copy3
  • так далее...

Установить

  1. Перейти к Start > Run... меню и тип "sendto" или же "shell:sendto".
  2. В появившемся окне создайте новый текстовый файл.
  3. Откройте новый файл в блокноте.
  4. Вставьте текст ниже.
  5. Переименовать текстовый файл в "Copy of.cmd"(с кавычками).

Использовать

  1. Выберите один или группу файлов.
  2. Щелкните правой кнопкой мыши файл (ы).
  3. Выберите Send To... > Copy of.cmd вариант.

Копия.cmd

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

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

:copy
copy %1 "%~1.copy%2"
goto :eof

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

Итак, я решил это:

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

:try_copy
if not exist "%~d1%~p1%~n1{copy%2}%~x1" goto :copy
call :try_next %1 %2
goto :eof
:copy
if "%2" == "" call :try_next %1 %2
copy %1 "%~d1%~p1%~n1{copy%2}%~x1"
exit

:try_next
set /a _next=%2 + 1
call :try_copy %1 %_next%
goto :eof

Я предполагаю, что проблема пути, которую вы разместили, связана с тем, как вы сделали запись в контекстном меню, потому что у меня нет этой проблемы.

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\AllF01]
 @="C&@py"

[HKEY_CLASSES_ROOT\*\shell\AllF01\command]
 @="C:\\AEdNs\\nCodIP\\nCodIU\\Copy.cmd \"%1\""

Я не использую MS Windows Explorer. Я использую различные портативные / бесплатные файловые менеджеры.

Все (кроме одного) имели проблему с тем, что оригинальный скрипт скопировал файл в корневой каталог "install" бесплатного файлового менеджера, поэтому я добавил %~d1%~p1 который помещает диск \ путь исходного файла в выходной файл...

Я настраивал код различными способами по разным причинам и запускал код для любого выбранного файла (ов) через контекстное меню XP, а не SendTo.

Другие вопросы по тегам