2016-07-19 16 views
2

フォルダC:\temp\root\students\type1、そのサブフォルダとすべてのファイルを削除または削除するバッチファイルを作成したいとします。次のように私が持っているんバッチファイルを持つ親フォルダ内の特定のサブフォルダを削除する方法

フォルダとファイルは、以下のとおりです。

C:\temp 
C:\temp\root 
C:\temp\root\students 
C:\temp\root\tutors 
C:\temp\root\students\type1 
C:\temp\root\students\type2 
C:\temp\root\tutors\type1 
C:\temp\root\tutors\type2 
C:\temp\root\students\type1\details.txt 
C:\temp\root\students\type1\assignment1 
C:\temp\root\students\type1\assignment1\results.txt 

フォルダC:\temp\root\students\type1\assignment1は、バッチファイルで指定されています。

バッチファイル(test.bat)にある1つのフォルダ/ディレクトリを削除して削除したいと思いますか?C:\temp\root\students\type1を削除してください。

私にこれを手伝ってください。

+1

Cは、ハード自分のものがオンになっているドライブどんなプログラミング言語ではありません。これにはタグを付けないでください。 – evaitl

+0

既存のバッチファイルコマンドはどこにありますか?あなたのニーズに合うようにフォルダを変更してください – dbmitch

答えて

1

使用この:

rd /s /q C:\temp\root\students\type1 

それはプロンプトなしで、再帰的にファイルやフォルダ、注意を削除します。それは良い古いdeltreeのための代替物のようなものです。ベスト。

EDIT:あなたのメモ帳の中に、このコンテンツを使用してmygoodbatch.batを作成します。

md C:\temp 
md C:\temp\root 
md C:\temp\root\students 
md C:\temp\root\tutors 
md C:\temp\root\students\type1 
md C:\temp\root\students\type2 
md C:\temp\root\tutors\type1 
md C:\temp\root\tutors\type2 
md C:\temp\root\students\type1\details.txt 
md C:\temp\root\students\type1\assignment1 
md C:\temp\root\students\type1\assignment1\results.txt 
rd /s /q C:\temp\root\students\type1 

をmdのそれで始まるすべての行を作成しているのでは、DIR DOSコマンドを作るですフォルダ - 最後の行はレベル4AAの1つです)

このバッチをディスクのルートに保存してから実行してください。私は本当にこれがあなたが望むものであることを望む。私がまだ理解していなかったのは、ディレクトリ構造を作成しているのと同時に、レベル4AAを除いて...それはそれですか?

+0

ありがとうございます。 これらは物理的なフォルダ/ディレクトリです。 このフォルダ構造をバッチファイルから取得してこの特定のフォルダを削除する方法はありますか? フォルダ構造の意味は次のとおりです。 ** C:\ temp **はレベル1です。 ** C:\ temp \ root **はレベル2です。 ** C:\ temp \ root \ students * *はレベル3A ** C:¥temp¥root¥tutors **はレベル3B ** C:¥temp¥root¥students¥type1 **はレベル4AA ** C:\ temp \ root \ students \タイプ2 **はレベル4AB ** C:¥temp¥root¥tutors¥type1 **は4BA ** C:¥temp¥root¥tutors¥type2 **は4BB – PNouma2121

+0

です。正しく理解しているかどうかわかりません。主な原則は、上記の答えから** C:\ temp \ root \ students \ type1 **の代わりに置いたものです。このフォルダ内のものはすべて削除されます。 – statosdotcom

+0

私のバッチファイルでは、以下に述べるようにレベル別にこのフォルダ構造を作成し、レベル4AAを参照するフォルダを削除したいと思います。 私は初心者ですので、まだ私のバッチファイルには何もありません。 ありがとうございました。 – PNouma2121

1

あなたが指定したフォルダの親フォルダを取得するためにforループを使用することができます。

set target_dir=C:\temp\root\students\type1.test\assignment1 

for %%a in ("%target_dir%") do (
    echo Removing %%~dpa% 
    rd /s/q %%~dpa% 
) 
関連する問題