2014-04-15 12:40:31 +0000 2014-04-15 12:40:31 +0000
57
57

フォルダとそのサブフォルダからすべてのファイルを削除したい

フォルダ構造からすべてのファイルを削除したいのですが、空のフォルダ構造が残ってしまいます。

これはバッチかVBScriptスクリプトで実現できますか?

基本的なバッチコマンドを試したことがありますが、各ファイルの削除を許可する必要があります。これは何百ものファイルがあり、これは時間の経過とともに大量に増加するので、適切な解決策ではありませんでした。

回答 (13)

81
81
81
2014-04-15 13:18:38 +0000

PowerShell ](http://en.wikipedia.org/wiki/Windows_PowerShell):

Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}

このコマンドは、$path の各子アイテムを取得し、それぞれの子アイテムに対して削除メソッドを実行し、非常に高速に実行できます。フォルダ構造はそのままです。

拡張子のないファイルがある場合は、代わりに

Get-ChildItem -Path C:\Temp -Include * -File -Recurse | foreach { $_.Delete()}

を使用してください。

PowerShell v2 の後に -File パラメータが追加されたようですが、その場合は

Get-ChildItem -Path C:\Temp -Include *.* -Recurse | foreach { $_.Delete()}

拡張子のあるファイルには有効です。

29
29
29
2017-11-02 17:21:27 +0000

短くてスイートなPowerShell。それが動作するPSの最低バージョンを確認していません。

22
22
22
2014-04-15 12:44:30 +0000
dir C:\folder
del /S *

&001

再帰的にファイルだけを削除するのがdelコマンドでできます。

4
4
4
2014-04-15 13:18:19 +0000

あなたの元の質問の行の間を読んで、私はあなたが使用することができます代替のBATCHコード行を提供することができます。これを実行すると、60日以上前のファイルのみが削除されます。この方法では、これをスケジュールされたタスクに入れて、それが実行されたときに、ディレクトリ全体を吹き飛ばすのではなく、必要のない余分なファイルを削除することができます。あなたがしたい場合は、60を5日または1日に変更することができます。これはフォルダを削除しません。

4
4
4
2014-10-28 15:39:38 +0000

PowerShellの使用方法:

Get-ChildItem -Path c:\temp -Include * | remove-Item -recurse
3
3
3
2018-05-10 07:13:40 +0000

PowerShell を使用して、単一のファイルまたはフォルダを削除します。PowerShellでDeleteコマンドを実行する前に、削除したいオブジェクトにフルアクセスできるアカウントでサーバーまたはPCにログインしていることを確認する必要があります。 txt"

上記コマンドを実行して、"C:\dotnet-helpers “の中に存在する "DummyfiletoDelete.txt "ファイルを削除します。 *”

Using PowerShell commnads to delete all files and folders

Remove-Item -Path “C:\dotnet-helpers*. -recurseパラメータは、PowerShellが許可を求めずに子アイテムを削除することを可能にします。さらに、-forceパラメータを追加することで、隠しファイルや読み込み専用のファイルを削除することができます。

-Forceコマンドを使って強制的にファイルを削除する

PowerShellコマンドを使って強制的にすべてのファイルを削除する

Remove-Item -Path "C:\dotnet-helpers*.

1
1
1
2014-11-20 21:28:24 +0000

PowerShellを使って試してみてください。この例では、すべての.classファイルを削除したいと思います:

Get-ChildItem '.\FOLDERNAME' -include *.class -recurse | foreach ($_) {remove-item $_.FullName}
1
1
1
2015-05-18 11:30:46 +0000

現在のディレクトリとサブディレクトリからすべてのファイルを削除しますが、フォルダ構造を残します。

(/Q) スイッチは、彼が

を削除するには OK であるかどうかをユーザーに尋ねるためのものです。

1
1
1
2016-10-12 20:45:27 +0000

これは、最も簡単な方法である IMO

開く PowerShell、ディレクトリ(cd)に移動し、THEN

ls -Recurse * | rm

(Poof)すべてが消えている… 特定の拡張子に基づいて削除したいと思えば

ls -Recurse *.docx | rm

ls はディレクトリをリストしています

-Recurse は任意のサブディレクトリに入るために powershell を告げるフラグです

* はすべてを言います

*.doc すべてとの .doc 拡張子のすべてを。 doc拡張子

|は左からの出力を右に送ります

rmは削除します

他のすべての答えはこれを必要以上に混乱させるように現われます。

1
1
1
2015-03-16 09:12:32 +0000
  1. Windowsエクスプローラでは、すべてのファイルとフォルダを含むルートディレクトリを選択します。Search for *

  2. タイプによるソート(すべてのフォルダがトップになり、下にリストされているすべてのファイル)

  3. すべてのファイルを選択し、削除を押してください。

0
0
0
2020-03-01 06:34:32 +0000

以下のコマンドを使用して、フォルダとそのサブフォルダ内のすべてのファイルを削除することができます。

0
0
0
2020-02-04 17:43:55 +0000

Powershell 5.1では:


$extensions_list = Get-ChildItem -Path 'C:\folder_path 

* * * * 

それはディレクトリではないすべてのイテンを削除します。 

$extension.FullName = アイテムパス 

$extension.Attributes = アイテムタイプ (ディレクトリまたはアーカイブ) -Recurse

foreach ( $extension in $extensions_list) {

    if ($extension.Attributes -notlike "Directory") {

        Remove-Item $extension.FullName  
    }
}

それはディレクトリではないすべてのイテンを削除します。

$extension.FullName = アイテムパス

$extension.Attributes = アイテムタイプ (ディレクトリまたはアーカイブ)

-1
-1
-1
2018-10-14 14:59:48 +0000

上記の回答を補完するものとして、実際には、上記の回答の中でGet-Childitemを使用してパイプラインに結果を渡す必要はありませんが、 -IncludeキーワードはRemove-Itemコマンドに含まれています。

関連する質問

3
19
10
28
3