• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:全てのフォルダから最新ファイルを残し削除)

全てのフォルダから最新ファイルを残し削除

このQ&Aのポイント
  • WindowsServer2008でバックアップフォルダをリフレッシュするバッチを作成したい。CやVBのプログラム経験あり。
  • C:\testdir内のサブフォルダdir1,dir2,dir3の中の最新以外のファイルを削除するバッチを作成したい。
  • コード1とコード2のバッチで最新のファイルを取得する部分でエラーが発生している。全フォルダの最新ファイルを残し削除する方法を教えてほしい。

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

cdに失敗しているのではないかと思います。 ★部に   cd >>%L_FILE% を入れて、ちゃんとcdできているか確認してみてください。 コード1ではcdは相対パスで行っていますが、コード2では絶対パスで行っています。 アクセス権限の問題で失敗している可能性が考えられます。 コード1で良ければ相対パスにすることで正しく動作すると思われます。 なお、元のディレクトリに戻るため、cdの代わりにpushdとpopdを使うことを勧めます。

wendy0303
質問者

お礼

ありがとうございます。 結論から申しますと解決しまして、お見立ての通りCDの失敗でした。 cd >>%L_FILE%にて CD前後でのカレント確認、 bat実行ユーザー(管理者権限を持つ)での実行、 サブフォルダへの移動から繰り返す処理を別ラベルに。 その上で1処理ずつ丁寧に見直しまして、 目的の動作を得ることが出来ました。 どうもありがとうございました。

関連するQ&A