web-dev-qa-db-ja.com

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

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

例えばfrom:Copy of {name}。{ext} to:{name}。{ext} 。copy

現在:

original_file.php
Copy of original_file.php

望ましい:

original_file.php
original_file.php.copy

これにより、重複したファイルの検索/操作が容易になりますmuch(一緒に自動ソート)およびファイルタイプ(拡張子による)したがって、変更により、誤って何かを「壊す」ことはありません(たとえば、*。Javaファイルの場合、コンパイル時にエラーが発生します)。

9
scunliffe

私が正しく理解していれば、同じディレクトリにファイルの複製を作成したいと思います。 「送信先」メニューからこれを行うための.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
9
mskfisher

だから私はそれを解決しました:

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\""

私はMSWindowsエクスプローラーを使用していません。私はさまざまなポータブル/フリーウェアのファイルマネージャーを使用しています。

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

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

0
AEN