Qualquer opção para alterar a nomenclatura padrão Copiar aqui do Windows XP de “Cópia de {name}. {Ext}” para “{name}. {Ext} .copy”

9

Existe uma opção ou ferramenta que me permita alterar a convenção de nomenclatura padrão para arquivos copiados no mesmo diretório no Windows (XP) e acima.

por exemplo, de: Cópia de {name}. {ext} para: {name}. {ext} .copy

Atualmente:

original_file.php
Copy of original_file.php

Desejado:

original_file.php
original_file.php.copy

Isso tornaria muito mais fácil encontrar / trabalhar com arquivos duplicados (eles se classificam automaticamente) e o tipo de arquivo (por extensão) muda, portanto, não pode "quebrar" acidentalmente algo (por exemplo, se fosse um arquivo * .java, ao compilar I obteria erros)

scunliffe
fonte
Solução alternativa do Notepad ++: Se você lida apenas com arquivos que contêm texto, como o PHP termina acima, pode usar o Notepad ++ com seu recurso de salvamento automático. Consulte> Configurações> Preferências> guia "Backup / AutoCompletion", use "Backup simples" para apenas 1 arquivo de backup, use "Backup detalhado" para uma pasta separada na qual os arquivos recebem os carimbos de data / hora. Verifique também o plug-in Salvamento automático, pode ser o que você deseja.
Kai Noack

Respostas:

9

Se bem entendi, você deseja criar duplicatas dos arquivos no mesmo diretório. Eu criei um arquivo .cmd para fazer isso através do menu "Enviar para". Se um name.ext.copyarquivo já existir, ele criará:

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

Para instalar

  1. Vá para o Start > Run...menu e digite " sendto" ou " shell:sendto".
  2. Na janela exibida, crie um novo arquivo de texto.
  3. Abra o novo arquivo no bloco de notas.
  4. Cole no texto abaixo.
  5. Renomeie o arquivo de texto para " Copy of.cmd" (entre aspas).

Usar

  1. Selecione um ou um grupo de arquivos.
  2. Clique com o botão direito do mouse nos arquivos.
  3. Selecione a opção Send To...> Copy of.cmd.

Cópia 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
fonte
Obrigado @kskfisher! isso parece ser uma ótima solução alternativa (caso não exista uma maneira padrão) de fazer isso. ;-)
scunliffe 11/03/10
0

Então eu resolvi isso:

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

Eu acho que o problema do caminho que você postou decorre de como você fez a entrada do menu de contexto, porque eu não tenho esse 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\""

Eu não uso o MS Windows Explorer. Eu uso vários gerenciadores de arquivos portáteis / freeware.

Todos (menos um) tiveram o problema de o script original copiar o arquivo para o diretório raiz "install" do gerenciador de arquivos freeware, então eu adicionei o %~d1%~p1que coloca o drive \ caminho do arquivo original no arquivo de saída ...

Ajustei o código de várias maneiras por vários motivos e para iniciá-lo em qualquer arquivo selecionado através do menu de contexto do XP, não o SendTo.

AEN
fonte
Obrigado @AEN - apenas imaginando como você "instala" esse item de menu de contexto em comparação com um filho do menu enviar para?
scunliffe
11
Na verdade, consegui editar o registro e adicionar essa opção ao menu de contexto ... mas acho que ele tenta criar a cópia / pesquisa no diretório onde está o meu arquivo * .cmd, não no diretório do arquivo selecionado. Usei as configurações do registro (ajustadas) aqui: superuser.com/questions/65105/… para adicionar o item de contexto.
scunliffe
AEN, você deve se registrar no site ou tentar manter seus cookies, caso contrário você não poderá editar ou responder sua própria postagem. Além disso, mantenha-o civilizado, o que nós "editores" fazemos é - em primeiro lugar - manter tudo fácil de ler. De acordo com o FAQ , as ações tomadas aqui devem ser claras para você. Apenas tome isso como um lembrete gentil, sem ofensas.
slhck
Eu gosto do seu código de lote. Ao copiar um arquivo chamado file.txt repetidamente usando o seu código no menu "Enviar para", isso gera o arquivo {copy1} .txt, o arquivo {copy2} .txt e assim por diante. No entanto, se alguém preferir produzir arquivo (1) .txt, arquivo (2) .txt e assim por diante, as partes do seu código que mostram {copy% 2} podem ser alteradas para (% 2). Sei que esse é um tópico antigo, mas queria contribuir com outras pessoas que possam se deparar com esta página.
Trekker 24/09