Любая возможность изменить значение по умолчанию «Копировать здесь» в 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 получит ошибки)


Обходной путь 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

Спасибо @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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.