Dowolna opcja zmiany domyślnej nazwy systemu Windows XP Kopiuj tutaj z „Kopia {nazwa}. {Ext}” na „{nazwa}. {Ext} .kopia”

9

Czy istnieje opcja lub narzędzie, które pozwoli mi zmienić domyślną konwencję nazewnictwa plików skopiowanych do tego samego katalogu w systemie Windows (XP) i wyżej.

np. z: Kopia {nazwa}. {ext} do: {nazwa}. {ext} .kopia

Obecnie:

original_file.php
Copy of original_file.php

Pożądany:

original_file.php
original_file.php.copy

W ten sposób ustalenie / pracy z duplikatów plików znacznie łatwiejsze (oni automatycznego sortowania razem) i typ pliku (o rozszerzeniu) zmienia się w ten sposób, że nie mogą przypadkowo „break” coś (np gdyby był to plik * .java, po kompilacji I dostaną błędy)

scunliffe
źródło
Obejście Notepad ++: Jeśli zajmujesz się tylko plikami zawierającymi tekst, jak sugeruje powyższe zakończenie PHP, możesz użyć Notepad ++ z funkcją automatycznego zapisywania. Zobacz> Ustawienia> Preferencje> Zakładka „Kopia zapasowa / autouzupełnianie” użyj „Prostej kopii zapasowej” tylko dla 1 pliku kopii zapasowej, użyj „Pełnej kopii zapasowej” dla osobnego folderu, w którym pliki mają znaczniki czasu. Sprawdź także wtyczkę Autozapis, może to być to, czego chcesz.
Kai Noack

Odpowiedzi:

9

Jeśli dobrze rozumiem, chcesz utworzyć duplikaty plików w tym samym katalogu. Utworzyłem plik .cmd, aby to zrobić za pomocą menu „Wyślij do”. Jeśli name.ext.copyplik już istnieje, utworzy:

  • name.ext.copy2
  • name.ext.copy3
  • itp...

Żeby zainstalować

  1. Przejdź do Start > Run...menu i wpisz „ sendto” lub „ shell:sendto”.
  2. W wyskakującym oknie utwórz nowy plik tekstowy.
  3. Otwórz nowy plik w Notatniku.
  4. Wklej poniższy tekst.
  5. Zmień nazwę pliku tekstowego na „ Copy of.cmd” (z cudzysłowami).

Używać

  1. Wybierz jeden lub grupę plików.
  2. Kliknij plik (i) prawym przyciskiem myszy.
  3. Wybierz opcję Send To...> Copy of.cmd.

Kopia .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
źródło
Dzięki @kskfisher! wygląda na to, że będzie to świetne obejście (jeśli nie ma domyślnego sposobu), aby to zrobić. ;-)
scunliffe
0

Więc rozwiązałem to:

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

Zgaduję, że problem ze ścieżką, który napisałeś, wynika z tego, jak wprowadziłeś pozycję menu kontekstowego, ponieważ nie mam tego problemu.

[HKEY_CLASSES_ROOT\*\shell]

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

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

Nie używam MS Windows Explorera. Używam różnych przenośnych / darmowych menedżerów plików.

Wszyscy (oprócz jednego) mieli problem z tym, że oryginalny skrypt skopiowałby plik do katalogu głównego „install” darmowego menedżera plików, więc dodałem, %~d1%~p1który umieszcza dysk \ ​​ścieżka oryginalnego pliku w pliku wyjściowym ...

Poprawiłem kod na różne sposoby z różnych powodów i uruchomiłem kod w dowolnym wybranym pliku (plikach) za pomocą menu kontekstowego XP, a nie SendTo.

AEN
źródło
Dzięki @AEN - zastanawiam się, jak to „zainstalować”, aby było własnym elementem menu kontekstowego w porównaniu do elementu podrzędnego polecenia „Wyślij do menu”?
scunliffe
1
Właściwie udało mi się edytować rejestr i dodać tę opcję do menu kontekstowego ... ale myślę, że próbuje utworzyć kopię / wyszukiwanie w katalogu, w którym znajduje się mój plik * .cmd, a nie w katalogu wybranego pliku. Użyłem ustawień rejestru (skorygowanych) tutaj: superuser.com/questions/65105/…, aby dodać element kontekstu.
scunliffe
AEN, powinieneś zarejestrować się na stronie lub spróbować zachować pliki cookie, w przeciwnym razie nie będziesz w stanie edytować ani odpowiadać na swój post. Prosimy również o zachowanie postawy obywatelskiej, a my, „redaktorzy”, robimy przede wszystkim, aby wszystko było łatwe do odczytania. Zgodnie z często zadawanymi pytaniami podjęte tutaj działania powinny być dla Ciebie jasne. Po prostu weź to jako delikatne przypomnienie, bez obrazy.
slhck 15.09.11
Podoba mi się twój kod partii. Podczas wielokrotnego kopiowania pliku o nazwie file.txt przy użyciu kodu za pomocą menu „Wyślij do”, uzyskuje się plik {copy1} .txt, plik {copy2} .txt i tak dalej. Jeśli jednak ktoś wolałby uzyskać plik (1) .txt, plik (2) .txt itd., Części kodu, które pokazują {copy% 2}, można zmienić na (% 2). Wiem, że to stary wątek, ale chciałem pomóc innym osobom, które mogą natknąć się na tę stronę.
Trekker