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

9

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

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

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

original_file.php
Copy of original_file.php

Желаемая:

original_file.php
original_file.php.copy

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

scunliffe
источник
Обходной путь Notepad ++: Если вы имеете дело только с файлами, содержащими текст, как подразумевается в конце PHP, вы можете использовать Notepad ++ с его функцией автосохранения. См.> Настройки> Настройки> Вкладка «Резервное копирование / автозаполнение», используйте «Простое резервное копирование» только для 1 файла резервной копии, используйте «Подробное резервное копирование» для отдельной папки, где файлы получают временные метки. Также проверьте плагин Автосохранение, это может быть то, что вы хотите.
Кай Ноак

Ответы:

9

Если я правильно понимаю, вы хотите создать дубликаты файлов в одном каталоге. Я создал файл .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
mskfisher
источник
Спасибо @kskfisher! похоже, это будет хорошим обходным путем (если не будет способа по умолчанию) сделать это. ;-)
scunliffe
0

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

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.

АЕН
источник
Спасибо @AEN - просто интересно, как вы «устанавливаете» это, чтобы быть его собственным элементом контекстного меню по сравнению с дочерним элементом меню «Отправить в»?
scunliffe
1
На самом деле мне удалось отредактировать реестр и добавить эту опцию в контекстное меню ... но я думаю, что он пытается создать копию / поиск в каталоге, где находится мой файл * .cmd, а не в каталоге выбранного файла. Я использовал настройки реестра (скорректированные) отсюда: superuser.com/questions/65105/… чтобы добавить элемент контекста.
scunliffe
AEN, вам следует зарегистрироваться на сайте или попытаться сохранить свои куки, иначе вы не сможете редактировать или отвечать на свои собственные сообщения. Кроме того, пожалуйста, держите это в тайне, что мы, «редакторы», делаем, во-первых, чтобы все было легко читаться. Согласно FAQ , действия, предпринятые здесь, должны быть вам понятны. Просто примите это как мягкое напоминание, без обид.
Slhck
Мне нравится ваш код партии. При повторном копировании файла с именем file.txt с использованием вашего кода через меню «Отправить» это приводит к созданию файла {copy1} .txt, файла {copy2} .txt и т. Д. Однако, если кто-то предпочитает выдавать file (1) .txt, file (2) .txt и т. Д., Части кода, которые показывают {copy% 2}, можно изменить на (% 2). Я знаю, что это старая ветка, но хотел помочь другим, которые могут встретиться на этой странице.
Trekker