web-dev-qa-db-ja.com

ファイルをごみ箱に送るコマンドラインの方法は何ですか?

ごみ箱にファイルを送信できるコマンドラインプログラムはありますか?これはXPおよびVistaにあります。

46
justintime

CmdUtils には、まさにそれを行うRecycleというユーティリティがあります。 [ 直接ダウンロード ]

詳細

リサイクルコマンドを使用するには、CmdUtils Zipファイルをダウンロードして、exeをWindowsフォルダーに解凍します。それらをWindowsフォルダーに追加すると、実行可能ファイルへの完全なパスを指定する必要なく、コマンドにグローバルにアクセスできます。次に、次のように入力して、リサイクルコマンドの使用を開始できます。

recycle filename.txt

コマンドでワイルドカードを指定することもできるため、recycle * .txtと入力すると、現在のディレクトリにあるテキストファイルがすべてリサイクルされます。コマンドでforceフラグを使用して、削除確認ダイアログを非表示にするオプションもあります。

確認せずにファイルを削除するには、次のコマンドを使用します

recycle –f filename.txt

–fフラグは、確認ダイアログを表示せずに強制的にリサイクルするようにコマンドに指示します。

33
Mark

Powershellがインストールされている場合:

$sh = new-object -comobject "Shell.Application"
$ns = $sh.Namespace(0).ParseName("PATH\TO\FILE\TO\DELETE")
$ns.InvokeVerb("delete")
21
EBGreen

これを行うための組み込みの方法はありませんが、それを実行できるサードパーティのツールがあります。プログラムダンプフォルダーを確認したところ、いくつかのオプションが見つかりました。それらはすべて同じように機能します(例:recycle filename.ext)ですが、パフォーマンスは異なるため、ニーズによって異なります(たとえば、lotのファイルをリサイクルしていますか?)

  • MaDdoG Softwareの Recycle は高速で出力がありませんが、不可解なnot-foundエラーをスローする可能性があります
  • EasyTools ’ DeleteXP は、進行状況をコンソールに表示するため低速ですが、nulにリダイレクトすると、最も高速で信頼性が高くなります
  • (正しくフォーマットされていない)出力をnulにリダイレクトする場合でも、Chris Yuenの cmd-recycle は最も遅い
6
Synetech

外部ユーティリティを使用できます:

nircmd moverecyclebin * .tmp

5
Yura Shinkarev

私は長い間この質問をしてきました-私はようやく問題を自分の手に取り、私は自分のユーティリティを展開しました cmd-recycle

Recycle.exe CmdUtils内。それについての事はあなたがリサイクルするときそれが伝統的な "Are you sure"ダイアログをポップアップすることです(-f引数を追加することで削除できます)。私のプログラムはそれを行うだけです(いつでも元に戻すことができるため)。これは、スクリプトの目的により適していると思います。

4
kizzx2

EBGreenコードを改善するだけで、ジョブを完了するために任意のバッチファイルに簡単に挿入できる便利な1行のコードを次に示します。 (完全修飾ファイルパスが%1バッチファイルパラメータにあると想定)

echo (new-object -comobject Shell.Application).Namespace(0).ParseName("%~1").InvokeVerb("delete") | powershell -command - 

末尾に注意してください-これは、Powershellコマンドがstdinからのコマンドテキストを受け入れるようにします

1
clueless

外部プログラムなし- deleteJS.bat 。それは使用しています Shell.Application動詞メソッドを呼び出します。使い方は簡単です:

call deleteJS.bat c:\someFile.txt
call deleteJS.bat d:\someFolder
1
npocmaka

ファイルをごみ箱に移動するためにさまざまなプログラムを試しましたが、さまざまな理由で満足できませんでした。

ほとんどの主な問題は、まともなステータスやエラーメッセージがないことです。一部は黙って失敗するだけなので、プログラムは何かをリサイクルしたと思いますが、実際には何もしませんでした!

これを解決するために、指定したファイルをWindowsのごみ箱に移動するbin-itというコマンドラインユーティリティを作成しました。ワイルドカードをサポートし、完全なステータスとエラーレポートを提供します。何かがうまくいかなければ、それについて知っているでしょう!

これは完全に無料で、ここからbinit.Zipとしてダウンロードできます。
http://www.akiwi.co.uk/utilities.html

1
akiwi

サードパーティのツールを使用しないと、「ファイルをごみ箱に送るコマンドラインの方法」があるとは思えません。次のように、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/

1
TroyK

RecycleIt を試すことができます。コマンドラインを介してWindowsのごみ箱にファイルを送信します。

使用例:

recycleIt.exe C:\temp\example.txt /quit

注:「/ quit」を追加する必要があります。そうしないと、開いたままのウィンドウが表示されます。これは、ヘッドレスコンソールセッションでは問題になる可能性があります。

0
Michael Weiner