2016-05-02 11 views
1

たとえば、サブフォルダ1234を含むabcというフォルダがあります。今度は、フォルダ2とその内容を除くすべてのフォルダを削除します。私は試しましたコマンドプロンプトを使用して1つのフォルダとそのコンテンツを除くすべてのフォルダを削除するにはどうすればよいですか?

PUSHD (c:\abc\2) 
rd /s /q "C:\abc" 2>nul 

しかし、2フォルダ内のファイルも削除されます。フォルダ2のファイルを削除したくないのですか?

+1

コマンドプロンプトウィンドウに 'pushd /? 'と入力した後、ヘルプテキストをお読みください。あなたは 'pushd'が与えられたディレクトリを現在のものに変更して、それ以外のものは見つけられないでしょう。 – aschipfl

+0

@aschipflアイデアはおそらく"私がそのフォルダの中にいるとき、削除できません " – Stephan

+0

@Stephan、そうすべてのサブディレクトリに入っていて、すべてのファイルを開く必要がありますか? – aschipfl

答えて

2

次のコードは動作するはずです:

for /D %%D in ("C:\abc\*.*") do (
    if /I not "%%~nxD"=="2" (
     2> nul rd /S /Q "%%~fD" 
    ) 
) 

for /Dループは、ディレクトリ1234て歩きます。
ifステートメントは、現在反復されているディレクトリの名前が2でないことを確認します。