0

基本的にフォルダー名でフォルダーを再帰的に削除するループがあります。

for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

これは正常に動作します。cmder 内で単独で実行すると、現在の設定ディレクトリからループし、見つかったインスタンスが削除されます。

これはワンライナーなので、次のようにして cmder のエイリアスとして簡単に追加できると思いました。

cnode=for /d /r . %d in (node_modules) do @if exist "%d" rm -rf "%d" 

cnode == (クリーンノード)、覚えやすいものですが、コマンドを実行しても実際には何もしません。

何か案は?

4

1 に答える 1

2

find ./node_modules -name 'foo' -type d -exec rm -rf {} \;

またはnode_modulesで「foo」という名前のディレクトリを見つけて実行rm -rfします

ワイルドカードも使用できます。

find ./node_modules -name 'foo*' -type d -exec rm -rf {} \;

エイリアスにしたい場合は、関数にする必要があります。ファイルaliasesを作成して次のようにします。

#!/bin/bash function remove_dir () { find ./node_modules -name "'$1*'" -type d -exec rm -rf {} \; }

そして他の誰かが言ったこと、あなたはWindowsでバッチをやっています.bashを使うことができるなら、私はあなたにそれを与えました.

于 2016-07-27T00:52:18.743 に答える