フォルダー構造からすべてのファイルを削除したいので、空のフォルダー構造が残っています。
これは、バッチまたはVBScriptのスクリプトで実現できますか?
非常に基本的なバッチコマンドを試しましたが、これにはユーザーが各ファイルの削除を許可する必要がありました。これは適切なソリューションではありませんでした。何百ものファイルがあり、時間の経過とともに大幅に増加するからです。
何を提案できますか?
フォルダー構造からすべてのファイルを削除したいので、空のフォルダー構造が残っています。
これは、バッチまたはVBScriptのスクリプトで実現できますか?
非常に基本的なバッチコマンドを試しましたが、これにはユーザーが各ファイルの削除を許可する必要がありました。これは適切なソリューションではありませんでした。何百ものファイルがあり、時間の経過とともに大幅に増加するからです。
何を提案できますか?
回答:
これはPowerShellを使用して実現できます。
Get-ChildItem -Path C:\Temp -Include *.* -File -Recurse | foreach { $_.Delete()}
このコマンドは、で各子アイテムを取得し、各アイテムで$path
deleteメソッドを実行し、非常に高速です。フォルダ構造はそのまま残ります。
拡張子のないファイルがある場合は、使用します
Get-ChildItem -Path C:\Temp -Include * -File -Recurse | foreach { $_.Delete()}
代わりに。
-File
PowerShell v2の後にパラメーターが追加された可能性があります。その場合は、
Get-ChildItem -Path C:\Temp -Include *.* -Recurse | foreach { $_.Delete()}
拡張子を持つファイルに対してトリックを行う必要があります。
-Include *.*
は-Include .
、大きな違いではありません!:-)
-Include .
か?それが問題です。
あなたはdel
コマンドでそうすることができます:
dir C:\folder
del /S *
/S
スイッチは、再帰的にファイルだけを削除することです。
/P
オプションを追加して、それを確認するためにすべての削除を確認するように求めることができます。
attrib -s -r -h Folder\*.* /s /d
削除する前に行ってください。そして、許可にはtakeown
コマンドを使用します。
元の質問の行間を読んで、使用できる代替BATCHコード行を提供できます。これを実行すると、60日以上経過したファイルのみが削除されます。これにより、スケジュールされたタスクにこれを配置でき、実行時にディレクトリ全体を吹き飛ばすのではなく、不要な余分なファイルを削除します。必要に応じて、60〜5日、または1日も変更できます。これはフォルダーを削除しません。
forfiles -p "c:\path\to\files" -d -60 -c "cmd /c del /f /q @path"
PowerShellを使用する:
Get-ChildItem -Path c:\temp -Include * | remove-Item -recurse
PowerShellを使用して、単一のファイルまたはフォルダーを削除します。PowerShellでDeleteコマンドを実行する前に、削除するオブジェクトへのフルアクセスを持つアカウントでサーバーまたはPCにログインしていることを確認する必要があります。
例: http : //dotnet-helpers.com/powershell-demo/how-to-delete-a-folder-or-file-using-powershell/
Remove-Item -Path "C:\ dotnet-helpers \ DummyfiletoDelete.txt"
上記のコマンドは、「C:\ dotnet-helpers」の場所にある「DummyfiletoDelete.txt」ファイルを実行して削除します。
Remove-Item -Path "C:\ dotnet-helpers *。*"
Remove-Item -Path "C:\ dotnet-helpers *。*" -recurse
-recurse
ドリルダウンして、さらに多くのファイルを見つけます。この–recurse
パラメーターにより、PowerShellは許可を求めずにすべての子アイテムを削除できます。さらに、–forceパラメーターを追加して、隠しファイルまたは読み取り専用ファイルを削除できます。
-Forceコマンドを使用してファイルを強制的に削除する
Remove-Item -Path "C:\ dotnet-helpers *。*" -Force
rd /s /q "c:\folder a
内のすべてのファイルとフォルダに再帰的削除を実行しますFolder A