通常の削除には長すぎるパス/名前のディレクトリを削除する方法


381

Windowsでは、削除しようとしたときにファイル名の長さに制限があるようですが、これらのファイルの作成は妨げられません。

ビルドプロセスでは、この制限に反して実行される多数の一時ファイル(WSDLからビルドされる多く)を作成します。私たちのantスクリプトは、クリーンを実行するときに何らかの方法でそれらを削除できますが、実際には、antから完全にクリーンを実行せずに、ワークエリアディレクトリ(すべての一時ファイルが保存される)を削除する必要があります。

これはこの質問と同じエラーですが、ファイルではなくディレクトリを扱っているため、そこの答えは実際には機能しません。また、特定のファイルまたはサブディレクトリが問題を引き起こしているのは常にわかりません。そして、それらを実際に削除するための手動プロセス(単一のコマンドをトリガーする以外)を避けようとしています。

エクスプローラからディレクトリを削除しようとすると、エラーが発生します

Cannot delete [file name]: The file name you specified is not valid or too long.  
Specify a different file name

Remove-ItemPowerShellで試すと、次のエラーが発生します。

Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
At line:1 char:12
+ Remove-Item  <<<< -force -Recurse <directory>

問題ファイルを手動で見つけて移動/名前変更することなく、この削除エラーを回避するツールや簡単な方法を知っている人はいますか?


2
この質問を投稿する直前に解決策を見つけましたが、他の人がこれに遭遇する可能性があるので、私が見つけた解決策を見つけられるように投稿することにしました。
Herms

ああ、わかっていますが、一般にこのようなことをするときは、他の誰かがより良い解決策を持っているかどうかを確認するために、しばらく「未回答」の質問を残します。
Herms

ことでファー最も簡単な解決策:youtube.com/watch?v=qQTyTprFAOg
TAW

Ubuntuまたはその他Linux Bootable CDを使用してコンピューターをUbuntu一時的に起動したり、その他のOSを一時的に起動したりできます。その後、フォルダーを選択して簡単に削除できます。
ケルムPriyadarshane

1
この古い質問はあまりにもいくつかの興味深い答えを持っている:superuser.com/questions/45697/...
AdamV

回答:


422

それらを削除するには、7-Zip File Managerを使用します。

それでも問題が解決しない場合は、7-Zip File Manager内でShift+ を使用してくださいDelete。そうでない場合、Windowsはそれらをごみ箱に移動しようとします(これは再び失敗します)。


5
おかげで、これは少し再帰的になり、del / rmdir / rm / explorerを削除するには深すぎたdirツリーを削除しました
Martin Beckett

64
shift + Delを使用するとうまく機能しました
-7zipは長いパスの

67
+1 7zip。フォルダーに移動する必要がありshift + Del、@ coriのように使用します。Deleteコンテキストメニューからオプションを選択すると、そこで失敗します。shift + Delそれ!
ウルダ

8
7zipはwin7 64では動作しませんでしたので、Linuxでも動作しました。
エリックフリーゼン

13
7zipを使用すると、内部に長いネストされたフォルダーが含まれるフォルダーも削除できるため、これを支持します。ネストされた大量のフォルダーを含むnode_moduleフォルダーに問題があり、削除できませんでした。7zipがベースフォルダーから完全に修正されました。+1
グルーバー

310

ここでの他の(無料の)答えはどれも私にとってはうまくいきませんでしたが、別のサイトで見つけました:

rimraf <dir>

rimrafNode.jsパッケージであるため、npmを含むNode.jsをインストールする必要があります。その後、次を実行できます。

npm install -g rimraf

その後rimraf、コマンドラインから実行できます。

npm自体が依存関係をネストする方法が原因でこの問題を引き起こしているため、この解決策を見つけました。

ところで、rimrafUNIXコマンドから名前を取得しrm -rfます。このコマンドは、ファイルとフォルダーを再帰的に削除します。


7
多くの方法を試しました。これは完璧に機能します!
ダッケック

2
すべてのベストアンサー:)はい、簡単です
アルモサファー

2
これは受け入れられた答えであるはずです。
NINCOMPOOP

13
あなたのソリューションは、動作しますが、私はノードJSモジュールのフォルダを削除するためのノードjsのモジュールを使用する必要があります## K-アップfを...ので、これは私はもうこの惑星に住むことを望んでいない
ブノワP

4
Nodeが最初に問題を作成したので...興味深い...彼らにも解決策があることを。
エリックJ.

141

この問題を解決するためにプログラムをインストールする必要はありません

この問題はrobocopy、2006年にリリースされたWindows Vista以降にプリインストールされているを使用して簡単に解決できます。

たとえば、rmdir /S /Q <dir>場合によっては失敗することが報告されています。7zipまたは他のサードパーティツールを使用する必要はありません。Powershellはやり過ぎです。Cygwinは動作する場合がありますが、インストールされていない場合があります。だから、に焦点を当てましょうrobocopy

アイデアは

  1. robocopyコピーして更新に 使用
  2. 新しい空のフォルダ
  3. 削除するフォルダー、ターゲットに。

を実行するrobocopyと、ターゲットディレクトリも空になります。

これらの手順は、コマンドライン用です。Windowsで検索を開き、cmd入力してEnterキーを押します。

削除のターゲットは次のとおりであるとしましょう:

C:\delete\this folder\with a very long name

次のように進めます。

  1. 最初に空のディレクトリfiを作成しますC:\emptyfolder

    mkdir C:\emptyfolder
    
  2. オプションを使用して、空のディレクトリからターゲットにコピー+更新 /purge

    robocopy c:\emptyfolder "C:\delete\this folder\with a very long name" /purge
    
  3. 空のディレクトリを削除します。もう必要ありません。

    rmdir c:\emptyfolder
    

ソースディレクトリ(C:\emptyfolder)にファイルまたはフォルダーがないため、ターゲットディレクトリ(C:\delete\this folder\with a very long name)の下のファイルとフォルダーを再帰的に削除するだけです!

  • 最後の秘::手で書くことを避けることができます

    C:\delete\this folder\with a very long name
    

    エクスプローラーウィンドウからフォルダーをドラッグし、ターミナル/ cmdウィンドウにドロップする。

注意:削除されたファイルはごみ箱フォルダーに移動しません!削除されたファイルは復元できません。

BVLANGENの「パスが長すぎる?Robocopyを使用する」から取得

PS:私はこの答えがここにあったことを理解しています。Windowsでファイル名が長すぎるファイルを削除するにはどうすればよいですか?[複製]

ブノワが追加しました:

すべてのファイルを削除するには、このプロセスを複数回実行する必要がある場合があります。


11
ありがとうございます!! 他のすべてが機能しなかったか、サードパーティのツールが必要だったため、これは受け入れられた答えでなければなりません。:)
MickyD 16

これは完全に機能します...何もインストールする必要はありません(私の知る限り)、それは迅速です。これは受け入れられた答えであるはずです!
ksumarine

1
これにより、ディレクトリツリーの一部(またはすべて)が「c:\ deletefolder」(ターゲットディレクトリ)の下に保持されます。とにかく、すべてを瞬時に削除しました(ファイルが小さいと思われます)。手動で<Del> "c:\ deletefolder"を実行するだけで、子ディレクトリは問題なく削除されました。魅力のように働いた。+1、受け入れられる答えでなければなりません!:)
rld。

@rld、ただし「deletefolder」は以前に存在しましたか?それ以外の場合、新しいディレクトリであれば空になっているはずです。それ以外の場合は混乱です。「rmdir deletefolder」の最後のステップを追加できます。
-hectorpal

1
非常に再帰的なディレクトリを処理する場合、このオプションは7zipよりもはるかに遅くなります。20分待った後、それらのベンチマークを行い、7zipを実現しましたが、進行が50倍速くなっていることは示されていません。
アンディゲージ

84

から削除する方法を見つけたと思いますcmd。もともとdelコマンドを試しましたが、うまくいきませんでした。それから私は思い出したrmdir。以下を実行します。

rmdir /S /Q <dir>

働いたようです。


105
私のために働かなかった。:(
アンドリューアーノット

rmdirを実行する前に、必ずcmdにドロップしてください。
ブライアンペイリス

8
このソリューションを使用できない人のために、私は代わりのソリューションを持っています(パス/ファイル名が長すぎる):ファイル/ディレクトリをC:\に移動してパスを短くし、そこから削除します。
アンダースサンドバーグノーボー

6
このソリューションが機能しないディレクトリ、7-Zipが削除できるディレクトリがある可能性があります。私はこれが私に起こった。
サムステファン

2
この解決策は一貫性のない結果を得ています。投票しないでください。
hectorpal

29

この問題が発生したときに使用したツールはFastCopyでした。私が選択したすべてを削除し、ドロップダウンから私は削除したいディレクトリを選択し、クリックされたすべてを削除します

FastCopy削除ダイアログのスクリーンショット

FastCopyは移植性があり(インストールは不要)、32ビットと64ビットのバージョンが利用可能です。


3
コマンドラインツールを探している場合は、GitHubで公開した小さなツール(github.com/epsitec/Tools-RecursiveDelete)を使用できます。
ピエールアルノー

ネストされたファイル/フォルダーのセットを再帰的に生成しました。これが唯一の解決策の作業だった
ピエルルイジ

2
これは、コマンドラインの問題、7zipの試行が失敗したときに機能しました。そして、マイクロソフトのサポートでさえも困惑していました!
キットラモス

ここでも同じです-私は7zipでファイルを削除し始めましたが、それはまた非常に奇妙な振る舞いをし、実際に削除するには各ディレクトリを複数回Shift + Delereしなければなりませんでしたが、このツールを試してみました。すべてのファイルを削除するために2回起動しました。ありがとう!
アルタニス

おかげで、私にとっても唯一の実用的なソリューション、素晴らしい!!!!
ティム

26

追加のソフトウェアをインストールしなくても、substコマンドを使用して、長い名前のディレクトリへのエイリアスを一時的に作成できます。

たとえば、フォルダを削除するC:\Very long directory\that exceed\length limit\blah blah blah\abcde\folder to be deleted場合は、次のコマンドを使用できます

subst x: "C:\Very long directory\that exceed\length limit\blah blah blah\abcde"

X:\folder to be deletedWindowsエクスプローラーまたはコマンドプロンプトで簡単に削除できます。一時的なドライブ文字エイリアスを削除するには、次のコマンドを使用します

subst x: /d

私は他のすべての回答(他の同様の質問からの回答を含む)を試しましたが、これが私のために働いた唯一の回答でした。そして、それは断然最速でした。
-glenneroo

1
これが圧倒的なベストアンサーです。シンプルで組み込みの機能で、レジストリをいじくり回す必要はありません。受け入れられた答えであるべきです。
ケヴィン・ローチ

最も簡単でわかりやすい方法です。ありがとう、ケネス。
セス

私は実際にX:ドライブを持っているので、この答えは私を怖がらせます。ここには十分な情報がありませんので、これ以上説明することなく人々に従うことはお勧めしません。
qodeninja

25

Cygwin rm -rfは長いパスでうまく機能します!


3
Cygwinは完璧に機能しました!-rm -rfを実行すると、すべてのファイルが削除されました。
ランヒルジュードクーレイ14年

3
GNU bashバージョン4.1.10(4)-releaseの下で私のためにも働いていました
匿名

2
Git Bashのコマンドウィンドウから実行する場合に非常に役立ちました。そのためにGitGuiをインストールしました。

22

以下を実行して、Powershellからコマンドにドロップするだけです。

Cmd /C "rmdir /S /Q <dir>" 

3
「ディレクトリは空ではありません」。おっと。OPは、空でないフォルダーを削除しようとしています。
leye0

これは@hermsの答えとどう違うのですか?
bigbadmouse

18

Dentrasiのソリューションは私にとって最適なものでしたが、最上位の回答に具体的な手順を掲載したかったのです。

  1. 7zipの最新の安定ビルドをダウンロードしてインストールします。
  2. 7zipファイルマネージャー(7zfm.exe)を実行します。
  3. 7zipファイルマネージャーで、削除するフォルダーの名前が表示されるようにナビゲートします(つまり、親フォルダーにいます)。
  4. Shiftボタンを押したままにします。
  5. 「クリックして削除し、キーボードや7zipをファイルマネージャのツールバーのいずれかで、ボタンを」; Shiftキーを押したままにしてください
  6. OK」ボタンをクリックしてください。Shiftキーを押したままにしてください

うまくやってみましたが、10のkの再帰フォルダーではまだ動作しませんでした。rimrafのみが機能しました。
ジュリアンナイト

@JulianKnight:ええ、このアプローチは私にとっても100%の時間でうまくいきませんでした。それはもっと簡単なプロセスの1つであり、少なくとも一部は機能したため、言及したかっただけです。私が見つけた唯一のことは、100%の時間で機能していることです。Powershell+ NTFSSecurityモジュールスクリプトアプローチです。これについては、以下で説明します。呼び出されたときにIIRC rimrafが失敗しました。これが最初にこの混乱に陥った理由です。:詳細については、このNode.jsのスレッドを参照してくださいgithub.com/nodejs/node-v0.x-archive/issues/...
マスドットネット

はい、そのような問題は常に存在します。実際、(Java)で行ったのはArduino IDEのライブラリインストールコードでしたが、ライブラリを含むフォルダを誤ってライブラリをインストールするフォルダとして選択しました!気がついたらすぐにプロセスを強制終了しましたが、すでに数千個のフォルダーがありました(i7 / SSDを酷使します!)よりフラットな構造。それでも、誰かが私をリムラフに入れてくれて本当にうれしいです-簡単で無料です。
ジュリアンナイト

@JulianKnight-はい、1、2日前に、誰かがnpm3が深く入れ子になった依存関係フォルダー構造を防ぐことでこれらの問題を軽減するのに役立つと私に言った。
マスドットネット

メインアプリケーションがライブラリX v1.0を必要とし、ライブラリYがX v1.0を必要とするZを必要とする場合、最上位のライブラリが使用されるように、「防止」するかどうかはわかりませんが、ネストされた依存関係をより賢明に処理します。現在、Zは、Xの独自のバージョンインストールします
ジュリアン・ナイト

11

既存の回答ではまだ言及されていないものが2つあります。

  1. 長いパスプレフィックスを使用して長いパスにアクセスできます。
  2. Windows 10では、一般的な用途でロングパスサポートを有効にできます-ただし、すべてのアプリケーションがロングパスで動作するわけではないため、古いソフトウェアをテストする必要があります。適切なマニフェストエントリを持つソフトウェアのみがこれを利用できます。

ロングパスプレフィックス

Windows APIには、最大32k文字の長さのUnicodeパス名(各要素の長さは最大255文字)をサポートする特別な機能があります。

これは多くの場合、誤ってUNCネーミングと呼ばれますが、関連しているわけではありません。

APIに長いUnicodeパスを使用するよう指示するために使用されるプレフィックスは\\?\、次のとおりです。

\\?\D:\very long path

UNC名は、通常、リモートサーバー上のパスをフォームで参照するときに使用されます\\servername\path name\file name。これを長いパスプレフィックスと組み合わせることができます。\\?\UNC\server\share

不十分な記述ですが、残念ながら非常に一般的な一部のアプリケーションは、UNCファイルパスも長いパスプレフィックスもサポートしていません。

参照:https : //msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath

ロングパスのサポート

これは、Windows 10の最近のバージョンに追加されたオプションです。特定のアプリケーションサポートを必要とするため、執筆時点ではデフォルトでアクティブ化されていません。興味深いことに、PowerShellにはサポートが組み込まれているため、このオプションを有効にすると、PowerShellスクリプトで長いパスを直接使用できます。

Windowsのバージョンがある場合は、グループポリシーエディターを介してアクティブ化できます。または、次のレジストリ変更を単に使用できます。いつものように、何かを行う前に、変更するレジストリのセクションをバックアップしてください。

  1. を実行しますregedit.exe
  2. UACプロンプトを確認します。
  3. キーに移動します。 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{48981759-12F2-42A6-A048-028B3973495F}Machine\System\CurrentControlSet\Policies
  4. キーを作成または変更しますLongPathsEnabled
  5. 存在しない場合は、[ポリシー]を右クリックして、メニューから[新規]> [Dword(32ビット)値]を選択します。
  6. に設定LongPathsEnabled1て有効にします。

適切なマニフェストエントリを持つアプリケーションは、POSIX標準の長いパスにアクセスできるようになります。これには、Windowsストアアプリが含まれている必要があります。

参照:https : //blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/

更新2017-04-09

@maoizmは上記のレジストリキーの問題を指摘したので、さらに掘り下げました。システムキーで長いファイル名のサポートを設定できるようになりました。

HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)

ただし、これはまだ使用するように設定されているアプリケーションでのみ機能します(アプリケーションのmanifest.xmlのエントリが必要です)。

また、このメソッドでは相対パス名を使用できないことに注意してください。


{48981759-12F2-42A6-A048-028B3973495F}Machineレジストリパスの一部は各コンピューターで異なります-それは誰にとっても明らかではないかもしれません
-maoizm

1
@maoizm-良い点、それを強調してくれてありがとう。W10 Anniversaryアップデート以降を使用している場合の代替手段については、私のアップデートをご覧ください。
ジュリアンナイト

FoundationIOというライブラリを書いていますが、長いパスをデフォルトにしようとしていますが、呼び出すことができる関数や、ライブラリのすべてのユーザーに対して長いパスのサポートを自動的に有効にするために設定できるマクロはありますか?
-MarcusJ

こんにちは、マーカス、これはネイティブのWindowsライブラリですか?その場合、.NETには関連するWindows APIの一部として必要なサポートが既にあります。.NETまたはWin APIプログラマーではないので詳細はわかりませんが、MSDNで詳細を検索できます。
ジュリアンナイト

8

私はcmdソリューションが好きです。エクスプローラーだけでも機能する別の回避策を共有したいのですが、削除する前に親フォルダーの名前を短くしてみてください。名前を短くするとパスが短くなります。たとえば、フォルダのツリー構造は次のとおりです。

C:\

..プロジェクト

.. .. 2014年春の素晴らしいプロジェクト

.. .. ..金曜日の市内の公園でのアクティビティ

.. .. .. .. Bla bla bla bla bla bla bla bla bla bla bla bla bla bla

.. .. .. .. ..長い名前の実際のファイルも

この場合、フォルダーを削除することも、ファイルを削除または名前変更することもできません。フォルダー構造全体またはその一部を削除する場合は、一時的に親フォルダーの名前を変更してパスを短くしてから、フォルダーを削除できます。名前は単なる文字にすることができます:

C:\

..プロジェクト

.. .. バツ

.. .. .. y

.. .. .. .. z

.. .. .. .. ..長い名前の実際のファイルも

私の場合、多くのサブフォルダーとファイルがあるフォルダー全体を削除したかっただけです。そのため、フォルダの名前は気にしませんでした。


1
それを行う小さなツールを作成し、GitHubに配置しました。github.com/epsitec/Tools-RecursiveDelete
ピエールアルノー

1
すべてのコマンドまたはShift + DELは機能しませんが、これは機能します。
ラーキー

あなたは10のk個のネストされたフォルダの持っている場合、実際には動作しません
ジュリアン・ナイト

また、フォルダーの1つに非常に長い名前がある場合は機能しません(問題のフォルダーの名前を変更することはできません)。
-aucuparia

7

7-zipソリューションは非常に効果的です。gitがインストールされている場合の別のオプションは、bashシェルを開いて次を使用することです。

rm -f

(またはrm -rfフォルダー用)


1
初心者のために、Windowsで「bashシェルを開く」方法を説明てください。
OMY

1
@OMY gitをインストールする必要があります。そして、スタートメニューからはgit bashのを開くことができるか、あなたはgitのをインストールしたときのシェル拡張を持っていることを選んだ場合、あなたは右のフォルダまたはをクリックして選択することができますGit Bash Here
ユーザー

4

Total Commanderをお勧めします(シェアウェアですが、試用期間後も最小限のナグスタート画面で動作し続けます)。これが、ファイル名が長すぎる問題を常に解決する方法です。


1
これを見つけた主に感謝します。愚かな方法でディレクトリをネストすることを決定するため、node_modulesフォルダーの削除に問題があります。
エイリアス

ええと、@ Alias、Total Commanderは、少なくとも私にとっては、この問題の検出を容易にします。そのような問題を特定した後、chkdskそれを解決する必要があります。
ソパラホデアリエレス

バージョン7.0は機能せず、エラーメッセージを表示し、管理者として操作を行うことを提案しますが、これも失敗します。
izogfif

@izogfif:今日の最新バージョンは8.52aです。これを試してみます。エラーメッセージの詳細は提供しませんが、「chkdsk c:/ f」(ドライブC:を想定)で解決する必要がある(少なくともNTFSの場合)アーカイブ構造に矛盾が生じる可能性があります。
ソパラホデアリエレス


2

robocopyを使用してファイルを削除する単純なJavaプログラムを作成しました。jarは実行可能なものです。追加の出力を行うには、cmd行から実行します。

https://drive.google.com/file/d/0B5pSEjxJvt_1WVp1T3puSm1CNjg/view?usp=sharing


2
また、Javaを使用したくない場合は、.NETを使用して記述したこのツール(github.com/epsitec/Tools-RecursiveDelete)を使用できます。
ピエールアルノー

@PierreArnaud素晴らしいユーティリティ。コマンドラインの自動化には、このようなものが必要でした。あなたから@ CamHart良い仕事も!みんなありがとう!
amitthk

1

私は他のすべての答えを試しましたが、うまくいきませんでした(少なくとも私にとっては)。

私はdelinfileに出会い、非常にうまく、そしてすぐに働きました!

トライアルは3アクション/ 15日に制限されていますが、いくつかのフォルダー/ファイルのみを削除したい場合に使用できます。


1

Bigger Directoriesもこのタスク用に設計されています。 ここに画像の説明を入力してください

  • ダウンロード
  • RemoveDirectoryWで再帰呼び出しを使用して、既存のディレクトリを削除します
  • 新しく作成されたディレクトリに独自のファイルリポジトリを使用する
  • ファイルは、ディレクトリを削除する前にディレクトリから移動できます。
  • ディレクトリの最上部への移動はネストされたディレクトリごとのクリックです
  • Windows XP(SP3)以降
  • インストーラーなしの署名されていないアンマネージコード。そのため、デスクトップなどの予備フォルダーから実行するとスマートスクリーン警告が発生する可能性があります。

CodeProjectで詳細をご覧ください


ソフトウェアを推奨する方法については、ソフトウェアを推奨する方法をご覧ください。少なくともリンク、ソフトウェア自体に関する追加情報、および質問の問題を解決するためにそれをどのように使用できるかを提供する必要があります。
DavidPostill

@デビッド:より良い?リンクはとても役に立ちました、ありがとう。
ローリースターン

1

私はWindows 10でこの問題に直面し、この簡単な解決策を見つけました。

  1. フォルダーツリーの少し深いところに移動します。
  2. アドレスバーを使用して、ツリーのどこかからツリーのどこかにフォルダをドラッグアンドドロップします。
  3. 私の画像のように、赤いボックスを緑のボックスにドラッグアンドドロップします。(この場合、パスは短くなりますが、長いパスでも同様に機能します)
  4. その後、パスが短くなり、削除キーを使用して通常どおり削除します。

ここに画像の説明を入力してください


1

ここで完璧な答えを得ました(ファイルの場合)。Windows 10で動作します。

REM Make sure there is no \ at the end of either path!
robocopy "C:\...\...\...\long\path" "C:\DeleteMe" "FileName" /MOV
REM Note: this ^ can be called many times before...:

REM Finally, recursively delete the higher up DeleteMe directory.
rmdir /S /Q DeleteMe

参照:https : //msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath

4つの質問に対する単一の回答だけでは、私のニーズには十分ではありませんでした。どういたしまして。


0

私はついにPowershell経由でこれを行う方法を見つけました。これをWindows 7で動作させるために従った手順は次のとおりです。

  1. 名前の新しいフォルダを作成しますNTFSSecurityフォルダ内のCを:\ Users \ユーザーXXXX \ドキュメント\ WindowsPowerShellモジュール\ NTFSSecurity \XXXXはお使いのWindowsのユーザー名です。例:ユーザー名が「aspnyc」の場合、新しいフォルダーは C:\ Users \ aspnyc \ Documents \ WindowsPowerShell \ Modules \ NTFSSecurityになります。

  2. ファイルシステムセキュリティPowerShellモジュールパッケージをダウンロードします。これは単純なZIPファイルとして利用できるはずです。

  3. Powershellコンソールを開き、Get-Module -ListAvailable を実行して、登録済みモジュールのリストのどこかにNTFSSecurityが表示されることを確認します。
  4. Powershellコンソールで、Import-Module NTFSSecurityを実行します。
  5. Powershellコンソールで、Remove-Item2 "YYYY" -Recurseを実行します。ここで、YYYYは再帰的に削除するフォルダーへのWindowsパスです(例:C:\ Potatoes \ Badgers \ FolderToDelete)。

0

最後に、個々のファイル名が長すぎるWindows 10でPowershellを使用してこれを行う方法を見つけました。これをWindows 10で動作させるために従った手順は次のとおりです。

  1. ファイルシステムセキュリティPowerShellモジュールパッケージをダウンロードします。これは単純なZIPファイルとして利用できるはずです。
  2. ディレクトリC:\ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ ModulesのフォルダNTFSSecurityとしてZipファイルを抽出します。
  3. 管理者の昇格(別名管理モード)でPowershellコンソールを開き、Get-Module -ListAvailable を実行し、登録済みモジュールのリストのどこかにNTFSSecurityが表示されることを確認します。
  4. 実行のSet-ExecutionPolicy無制限に署名した実行モードをバイパスします。Y(es)でこのアクションを確認する必要があります
  5. 最終的に、削除するフォルダーにcdします。
  6. Powershellコンソールで、Import-Module NTFSSecurityを実行します。
  7. PowershellコンソールでRemove-Item2 "YYYY" -Recurseを実行します。ここで、YYYYは再帰的に削除するフォルダーへの相対または絶対Windowsパスです(例:C:\ Potatoes \ Badgers \ FolderToDelete)。
  8. 動作したかどうかを確認します。
  9. Set-ExecutionPolicy Restrictedを使用して、最終的に署名付き実行モードに戻します。Y(es)でこのアクションを確認する必要があります。

0

Windows上のUbuntuにBashがインストールされている場合、通常のコマンドプロンプトでcdして親ディレクトリに移動し、次のように入力できます。

bash -c "rm -rf dirname_here"

bashを起動し、ファイル名の制限がないLinuxからディレクトリを再帰的に削除してから、通常のコマンドプロンプトに戻ります。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.