Cualquier opción para cambiar el nombre predeterminado Copiar aquí de Windows XP de "Copia de {nombre}. {Ext}" a "{nombre}. {Ext} .copy"

9

¿Existe una opción o herramienta que me permita cambiar la convención de nomenclatura predeterminada para los archivos copiados en el mismo directorio en Windows (XP) y superior.

por ejemplo, de: Copia de {nombre}. {ext} a: {nombre}. {ext} .copy

Actualmente:

original_file.php
Copy of original_file.php

Deseado:

original_file.php
original_file.php.copy

Esto haría mucho más fácil encontrar / trabajar con archivos duplicados (se ordenan juntos) y el tipo de archivo (por extensión) cambia, por lo que no puede "romper" accidentalmente algo (por ejemplo, si fuera un archivo * .java, al compilar I obtendría errores)

scunliffe
fuente
Solución alternativa de Notepad ++: si solo trata con archivos que contienen texto, como lo implica el final de PHP anterior, puede usar Notepad ++ con su función de guardado automático. Consulte> Configuración> Preferencias> pestaña "Copia de seguridad / Autocompletar" use "Copia de seguridad simple" para solo 1 archivo de copia de seguridad, use "Copia de seguridad detallada" para una carpeta separada donde los archivos reciben marcas de tiempo. También revise el complemento Autoguardar, esto podría ser lo que desea.
Kai Noack

Respuestas:

9

Si entiendo bien, desea crear duplicados de los archivos en el mismo directorio. Creé un archivo .cmd para hacer esto a través del menú "Enviar a". Si name.ext.copyya existe un archivo, creará:

  • name.ext.copy2
  • name.ext.copy3
  • etc ...

Instalar

  1. Vaya al Start > Run...menú y escriba " sendto" o " shell:sendto".
  2. En la ventana emergente, cree un nuevo archivo de texto.
  3. Abra el nuevo archivo en el Bloc de notas.
  4. Pega el texto a continuación.
  5. Cambie el nombre del archivo de texto a " Copy of.cmd" (con las comillas).

Usar

  1. Seleccione uno o un grupo de archivos.
  2. Haga clic derecho en los archivos.
  3. Selecciona la opción Send To...> Copy of.cmd.

Copia de 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
fuente
Gracias @kskfisher! parece que será una gran solución (si no hubiera una forma predeterminada) de hacer esto. ;-)
scunliffe
0

Entonces he resuelto eso:

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

Supongo que el problema de ruta que publicaste proviene de cómo hizo la entrada del menú contextual, porque no tengo ese problema.

[HKEY_CLASSES_ROOT\*\shell]

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

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

No uso MS Windows Explorer. Yo uso varios administradores de archivos portátiles / freeware.

Todos (excepto uno) tenían el problema de que el script original copiaría el archivo al directorio raíz de "instalación" del administrador de archivos freeware, así que agregué lo %~d1%~p1que coloca la unidad \ ruta del archivo original en el archivo de salida ...

Modifiqué el código de varias maneras por varias razones y para iniciar el código en cualquier archivo seleccionado a través del menú contextual de XP, no SendTo.

AEN
fuente
Gracias @AEN, ¿solo te preguntas cómo "instalas" esto para que sea su propio elemento del menú contextual frente a un elemento secundario del menú Enviar a?
scunliffe
1
En realidad, logré editar el registro y agregar esta opción al menú contextual ... pero creo que intenta crear la copia / búsqueda en el directorio donde está mi archivo * .cmd, no el directorio del archivo seleccionado. Utilicé la configuración del registro (ajustada) desde aquí: superuser.com/questions/65105/… para agregar el elemento de contexto.
scunliffe
AEN, debe registrarse en el sitio o tratar de mantener sus cookies, de lo contrario no podrá editar ni responder su propia publicación. Además, manténgalo civilizado, lo que hacemos los "editores" es, en primer lugar, mantener todo fácil de leer. Según las preguntas frecuentes , las acciones tomadas aquí deben ser claras para usted. Solo tómalo como un recordatorio amable, sin ofender.
slhck
Me gusta tu código de lote. Al copiar un archivo llamado file.txt repetidamente usando su código a través del menú "Enviar a", esto produce el archivo {copy1} .txt, el archivo {copy2} .txt, y así sucesivamente. Sin embargo, si alguien prefiere obtener el archivo (1) .txt, el archivo (2) .txt, etc., las partes de su código que muestran {copia% 2} se pueden cambiar a (% 2). Sé que este es un hilo viejo, pero quería contribuir para otros que puedan encontrar esta página.
Trekker