ごみ箱にファイルを送信できるコマンドラインプログラムはありますか?これはXPおよびVistaにあります。
CmdUtils には、まさにそれを行うRecycle
というユーティリティがあります。 [ 直接ダウンロード ]
詳細 :
リサイクルコマンドを使用するには、CmdUtils Zipファイルをダウンロードして、exeをWindowsフォルダーに解凍します。それらをWindowsフォルダーに追加すると、実行可能ファイルへの完全なパスを指定する必要なく、コマンドにグローバルにアクセスできます。次に、次のように入力して、リサイクルコマンドの使用を開始できます。
recycle filename.txt
コマンドでワイルドカードを指定することもできるため、recycle * .txtと入力すると、現在のディレクトリにあるテキストファイルがすべてリサイクルされます。コマンドでforceフラグを使用して、削除確認ダイアログを非表示にするオプションもあります。
確認せずにファイルを削除するには、次のコマンドを使用します
recycle –f filename.txt
–fフラグは、確認ダイアログを表示せずに強制的にリサイクルするようにコマンドに指示します。
Powershellがインストールされている場合:
$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
これを行うための組み込みの方法はありませんが、それを実行できるサードパーティのツールがあります。プログラムダンプフォルダーを確認したところ、いくつかのオプションが見つかりました。それらはすべて同じように機能します(例:recycle filename.ext
)ですが、パフォーマンスは異なるため、ニーズによって異なります(たとえば、lotのファイルをリサイクルしていますか?)
nul
にリダイレクトすると、最も高速で信頼性が高くなりますnul
にリダイレクトする場合でも、Chris Yuenの cmd-recycle は最も遅い外部ユーティリティを使用できます:
nircmd moverecyclebin * .tmp
私は長い間この質問をしてきました-私はようやく問題を自分の手に取り、私は自分のユーティリティを展開しました cmd-recycle
Recycle.exe
CmdUtils内。それについての事はあなたがリサイクルするときそれが伝統的な "Are you sure"ダイアログをポップアップすることです(-f引数を追加することで削除できます)。私のプログラムはそれを行うだけです(いつでも元に戻すことができるため)。これは、スクリプトの目的により適していると思います。
EBGreenコードを改善するだけで、ジョブを完了するために任意のバッチファイルに簡単に挿入できる便利な1行のコードを次に示します。 (完全修飾ファイルパスが%1バッチファイルパラメータにあると想定)
echo (new-object -comobject Shell.Application).Namespace(0).ParseName("%~1").InvokeVerb("delete") | powershell -command -
末尾に注意してください-これは、Powershellコマンドがstdinからのコマンドテキストを受け入れるようにします
外部プログラムなし- deleteJS.bat
。それは使用しています Shell.Application
動詞メソッドを呼び出します。使い方は簡単です:
call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
ファイルをごみ箱に移動するためにさまざまなプログラムを試しましたが、さまざまな理由で満足できませんでした。
ほとんどの主な問題は、まともなステータスやエラーメッセージがないことです。一部は黙って失敗するだけなので、プログラムは何かをリサイクルしたと思いますが、実際には何もしませんでした!
これを解決するために、指定したファイルをWindowsのごみ箱に移動するbin-itというコマンドラインユーティリティを作成しました。ワイルドカードをサポートし、完全なステータスとエラーレポートを提供します。何かがうまくいかなければ、それについて知っているでしょう!
これは完全に無料で、ここからbinit.Zipとしてダウンロードできます。
http://www.akiwi.co.uk/utilities.html
サードパーティのツールを使用しないと、「ファイルをごみ箱に送るコマンドラインの方法」があるとは思えません。次のように、Windows 7-10システムでごみ箱への完全なパスを取得できます。
::get current user sid
for /f "tokens=2" %%i in ('whoami /user /NH') do set UID=%%i
:: create full path to current user recycle bin in a variable
set recyclebin=%systemdrive%\$Recycle.Bin\%UID%
echo %recyclebin%
問題は、ファイルをそこに移動しただけではごみ箱に表示されないことです。コマンドプロンプトでのみ表示できます。ごみ箱は特別なフォルダです。アイテムをごみ箱に移動するWindows APIメソッドは、ファイルの名前を変更し、OSのバージョンに応じて専用の情報ファイルにファイルに関する情報を保存します。上記の回答で提案されているサードパーティツールは、これらすべてを処理するこれらのAPIメソッドを呼び出します。
ここにいくつかの詳細情報: https://dereknewton.com/2010/06/recycle-bin-forensics-in-windows-7-and-Vista/
RecycleIt を試すことができます。コマンドラインを介してWindowsのごみ箱にファイルを送信します。
使用例:
recycleIt.exe C:\temp\example.txt /quit
注:「/ quit」を追加する必要があります。そうしないと、開いたままのウィンドウが表示されます。これは、ヘッドレスコンソールセッションでは問題になる可能性があります。