Windows XPのデフォルトの[ここにコピー]の名前を「{name}。{ext}のコピー」から「{name}。{ext} .copy」に変更するオプション


9

Windows(XP)以降で同じディレクトリにコピーされたファイルのデフォルトの命名規則を変更できるオプションまたはツールはありますか?

例:{name}。{ext}のコピー先:{name}。{ext} .copy

現在:

original_file.php
Copy of original_file.php

望ましい:

original_file.php
original_file.php.copy

これにより、複製されたファイルの検索/操作がはるかに簡単になり(自動的に並べ替え)、ファイルタイプが(拡張子によって)変更されるため、何かを誤って「破壊」することはできません(たとえば、*。javaファイルの場合、コンパイル時にエラーが発生します)


Notepad ++の回避策:上記のPHPが意味するように、テキストを含むファイルのみを処理する場合は、自動保存機能を備えたNotepad ++を使用できます。> [設定]> [設定]> [タブ]を参照してください。「バックアップ/オートコンプリート」では、1つのバックアップファイルについては「シンプルバックアップ」を使用し、ファイルがタイムスタンプを取得する別のフォルダーについては「詳細バックアップ」を使用します。また、プラグインのAutosaveも確認してください。これで十分です。
カイノアック2014年

回答:


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. 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 2010年

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

あなたが投稿したパスの問題は、あなたがcontextmenuエントリをどのように作成したかに起因すると思います。私はその問題を持っていないからです。

[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を使用していません。さまざまなポータブル/フリーウェアのファイルマネージャを使用しています。

すべて(1つを除く)には、元のスクリプトがファイルをフリーウェアファイルマネージャーのルートの「インストール」ディレクトリにコピーするという問題があったため%~d1%~p1、元のファイルのdrive \ pathを出力ファイルに置くように追加しました...

さまざまな理由でコードを微調整し、SendToではなくXPコンテキストメニューを使用して、選択したファイルでコードを起動しました。


@AENに感謝-これを、「送信」メニューの子ではなく、独自のコンテキストメニュー項目に「インストール」する方法を考えているだけですか?
scunliffe 2011

1
実際、レジストリを編集してこのオプションをコンテキストメニューに追加しましたが、選択したファイルのディレクトリではなく、*。cmdファイルがあるディレクトリにコピー/検索を作成しようとしていると思います。ここからレジストリ設定(調整済み)を使用して:superuser.com/questions/65105/…コンテキストアイテムを追加しました。
scunliffe 2011

AEN、サイトに登録するか、Cookieを保持するようにしてください。そうしないと、自分の投稿を編集したり、回答したりできなくなります。また、私たちの「編集者」が最初に行うことは、すべてを読みやすくすることです。FAQに従って、ここで行われるアクションはあなたに明確であるはずです。穏やかなリマインダーとしてとらえてください。違反は意図されていません。
slhck '09

私はあなたのバッチコードが好きです。「送信」メニューからコードを使用してfile.txtというファイルを繰り返しコピーすると、file {copy1} .txt、file {copy2} .txtなどが生成されます。ただし、誰かがfile(1).txt、file(2).txtなどを生成したい場合は、コードの{copy%2}を示す部分を(%2)に変更できます。私はこれが古いスレッドであることを知っていますが、このページに出くわす可能性がある他の人に貢献したいと思っていました。
トレッカー2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.