• ベストアンサー

MS-DOSにて ファイルの削除

質問の場所が違うかと思いますが、教えて下さい [192.168.1.10](コンピュータのIPアドレスです)  →[c:](C:ドライブ)(\\192.168.1.10\c:\)   →[test](フォルダ)(\\192.168.1.10\c:\test)    →[test1](フォルダ)(\\192.168.1.10\c:\test1)     →[test1_1](フォルダ)       (\\192.168.1.10\c:\test1\test1_1)     →[test1_2](フォルダ)       (\\192.168.1.10\c:\test1\test1_2) の階層状態で  test1のフォルダは残し、  test1フォルダ内のtest1_1フォルダ、test1_2フォルダ、及び test1フォルダ内のファイルも全て削除する タスクのプログラムを教えて下さい 宜しくお願いいたします 補足:タスク処理する側、される側の両端末ともにLAN(同ドメイン)です

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.6

delだとフォルダそのものが消えませんでしたね。失礼しました。 #5の方の回答のようにrdもしくはrmdirコマンドを使用します。 >また、test1_1,test1_2は例をあげていて、実際は、多種多様のフォルダ、ファイルが作成されます。 ファイルは単純にワイルドカードの指定で削除できます。 フォルダはforコマンドを使用し、列挙して削除できます。 で、共有名をなかなか補足で出してくれないので、cだと仮定してサンプルを書きます。 ------------------------------------- rem ネットワーク接続 net use \\192.168.1.10\c パスワード /user:ドメイン名\ユーザ名 rem カレントの移動 pushd \\192.168.1.10\c\test rem ファイルの削除 del /f /q *.* rem フォルダの削除 for /d %%i in (*.*) do rd /s /q %%i rem カレントを戻す popd rem ネットワークの切断 net use \\192.168.1.10\c /delete ----------------------------- remはコメント行です。 このバッチの内容をバッチファイルではなく直接手で入力して試す場合は、%%iを%iにする必要があります。 詳しくはfor /?で。

nao0
質問者

お礼

ありがとうございました 出来ました

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.5

#4の方がお書きのように、共有名が分からないとどうしようもないですが、仮に\\192.168.1.10\TESTとします。 また、質問文では、サーバーでの c:\test とc:\test1の関連が不明ですが、c:\test\test1 が正しくて、c:\test\test1\test1_1, c:\test\test1\test1_2 が正しいとします。 PUSHD \\192.168.1.10\TEST\test1 RD /S /Q test1_1 RD /S /Q test1_2 DEL /Q /A *.* POPD または、test1 を一旦消して作り直す案も考えられ、 RD /S /Q \\192.168.1.10\TEST\test1 MD \\192.168.1.10\TEST\test1

nao0
質問者

お礼

おはようございます。早速のご回答有難うございます  訂正:test\test1 の関係です 申し訳御座いません また、test1 にはアクセス権等の設定を行なっている為、一旦削除できません。ご説明不足で申し訳御座いません また、test1_1,test1_2は例をあげていて、実際は、多種多様のフォルダ、ファイルが作成されます。これらを削除したく考えています 宜しくお願いいたします

すると、全ての回答が全文表示されます。
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.4

>(1)処理する側のOSは?→win2000server です でしたらdelだけで平気です。 >(2)削除される側の端末の共有フォルダ名はどれ? >→[test](フォルダ)(\\192.168.1.10\c:\test) です 違います。 私が確認したいのは、される側の端末の「共有名」です。共有の設定をすると手のマークがつきますよね。そのときにフォルダのプロパティの共有名というところのことです。 Serverから見たときに、マイネットーワークの中で \\192.168.1.10\c:\test なんて書かれていないはずです。 端末の削除対象のフォルダはC:\testとわかりますが、 必要な情報は、なんと言う名前で共有しているかです。それに、共有名に:が含まれることは絶対にありません。 >また、本処理をタスク処理で実施したいと考えています net useコマンドで、ネットワーク共有を行ってからdelコマンドで削除を実行する必要があります。 共有フォルダにアクセスする権限があるユーザでタスクスケジューラの処理を実行する必要があります。

すると、全ての回答が全文表示されます。
回答No.3

NO.2の返信です。 返信の方法がわからなかったので、新規に返信します。 申し訳ありませんが、バッチファイルを使っての操作までは、わかりません。 お役に立てなくて、申し訳ないです。

すると、全ての回答が全文表示されます。
回答No.2

こんにちは。 もしかするとご質問の意味と違うのかも知れませんが、 単純にdos上でのファイル及びディレクトリの削除という作業でお答えさせて頂きます。 MS-DOSでファイルの削除は"del"コマンドを使用します。 下層ディレクトリから作業してください。 この場合ですと、test_2のディレクトリに移動して、 そこでdel *.* と入力します。 これでtest_2の中のファイルが全て削除されます。 次に上位ディレクトリに移動して(cd ..)、 そこでtest_2のディレクトリを削除します。 ディレクトリ削除のコマンドは"rd"です。 この作業を繰り返します。 又、ファイルごとディレクトリを削除出来るコマンドも ありますが(deltree)、 それが使える環境かどうかは、定かではありません。 全く意図にあっていなければ、すみません。 1度、テストしてみられることをお奨めします。

nao0
質問者

お礼

早速のご回答有難うございます  バッチファイルを作成し、タスク処理にて実施したく考えています  誠に恐縮ではございますが、バッチファイルのプログラムを具体的にご教示くださいます様宜しくお願いいたします 初歩的なお願いで申し訳御座いません。宜しくお願いいたします

すると、全ての回答が全文表示されます。
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

処理する側のOSは? NT系のOSでしたら削除はDELです。ファイルもフォルダも消せます。 >補足:タスク処理する側、される側の両端末ともにLAN(同ドメイン)です 削除される側の端末の共有フォルダ名はどれ? 共有されていないんであれば削除できません (NT系なら管理共有ありますけど)

nao0
質問者

補足

早速のご回答有難うございます (1)処理する側のOSは?→win2000server です (2)削除される側の端末の共有フォルダ名はどれ? →[test](フォルダ)(\\192.168.1.10\c:\test) です 宜しくお願いいたします また、本処理をタスク処理で実施したいと考えています

すると、全ての回答が全文表示されます。

関連するQ&A