dポイントプレゼントキャンペーン実施中!

set _bkupFolder=\\01\Users\test\Old_TestData
set _presentDate=%date:~-10,4%%date:~-5,2%%date:~-2,2%

copy "\\01\Users\test\新規テキスト ドキュメント.txt" "%_bkupFolder%\%_presentDate%一覧.txt"
for /f "skip=30" %%A in ('dir /b/o-d "%_bkupFolder%\*.txt"') do @del /q %%A

というロジックで世代管理バックアップbatを作っています。
バックアップまではできるのですが、
世代管理がまったく動いてくれません。

\\01\Users\test\Old_TestData フォルダ内にあるtxtファイルが30を超えた分だけ古い順に削除
という管理にしたいのですが。
どなたかご教授お願い致します。
ネットワーク上で動かしています。

現在フォルダ中のtxt=55ファイル
因みにコンソール上で動かすと

for /f "skip=30" %A in ('dir /b/o-d "%_bkupFolder%\*.txt"') do @del /q %A

”○○がみつかりませんでした。”
というメッセージが25行でます。(削除したい数と一致します。)
つまりファイル名をどこかで認識して探しているということでしょうか?

その後、ファイル名が悪いのかとファイル名を変更して実行したら
”指定されたファイルが見つかりませんでした。”
といわれました。
ファイル名を指定するつもりはないのですが・・。どこでそうなってしまっているのでしょう?

お分かりになるかた、予想が付く方、どうか宜しくお願いいたします。

※OS WinXP です。

A 回答 (1件)

確認ですが, その


”○○がみつかりませんでした。”
というメッセージで表示される「○○」は, 削除したいファイルの名前と一致していますか?

「実はダブルクォートでくくれば終わり」だったりしませんか... と書いておくけど, 本当に必要なものを万が一消しちゃうかもしれないので実験は自己責任でお願いします.

この回答への補足

ご回答ありがとうございます。
「○○」は消したいファイル名と一致しております。
ダブルコーテーションはどこにつけるのが正解でしょうか?
今現在↓
"%_bkupFolder%\*.txt"
のようにアドレスとファイル名の外にダブルコーテーションをつけているのですが・・。


あ、もちろん自己責任でやります!テストデータとテストフォルダでやっているので大丈夫です!ありがとうございます。

補足日時:2013/06/24 08:57
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!