[前の記事]« [FOR]コマンド実行結果の変数へのセットがうまくいかない
[次の記事][XP]ファイル移動のバッチ処理でのエラー対処 »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「DEL,ERASE,REN…ファイル削除/復活/移動/名前の変更」索引へ
▲カテゴリー「FOR .. IN ( ) DO..」索引へ

最新の2つを残して古いログファイルを削除したい

1267.
古いログファイルの削除について
2006年07月17日(月) 10時45分
まさし
●Windowsのバージョンは、XPか、2003のどちらか
 です。

C:\LOG ディレクトリにある、拡張子.log 
ファイルを最新の2つを残して削除したいです。
バッチファイルを作ってやろうとしているのですが、
うまく行きません。
新しい順にファイルを表示するには、
dir /B /O-D でできそうなので、頭の2つを除いて
del コマンドが実行できればよいのですが、
うまくできません(for ループでまわすのでしょうか)
もしよい方法がありましたら、アドバイス下さい。
1269.
Re:古いログファイルの削除について
2006年07月18日(火) 10時25分
まさし 
>●Windowsのバージョンは、XPか、2003のどちらか
> です。
>
>C:\LOG ディレクトリにある、拡張子.log 
>ファイルを最新の2つを残して削除したいです。
>バッチファイルを作ってやろうとしているのですが、
>うまく行きません。
>新しい順にファイルを表示するには、
>dir /B /O-D でできそうなので、頭の2つを除いて
>del コマンドが実行できればよいのですが、
>うまくできません(for ループでまわすのでしょうか)
>もしよい方法がありましたら、アドバイス下さい。


1270.
Re:古いログファイルの削除について
2006年07月18日(火) 10時44分
ぽてCCP◆fcMgMQA=
ループでまわして、カウンタと組み合わせれば
実現可能ではないでしょうか?

ループと、カウンタの組み合わせは、少し前の
「6行だけ残して削除する・・」という話題で
出てます。
1271.
Re:古いログファイルの削除について
2006年07月18日(火) 11時01分
まさし
ご連絡ありがとうございます。
>「6行だけ残して削除する・・」という話題で
の話題を確認してみます。
ありがとうございます。


1274.
Re:古いログファイルの削除について
2006年07月18日(火) 11時23分
まさし
ぽてCCP◆fcMgMQA= さんのアドバイスを参考に
作ってみました。
とりあえず思うように動くのですが、
間違っていないでしょうか(あまり作ったこと
が無いため、自信がありません)。

set /a cnt=0
for /f  %%A in ('dir /B /O-D c:\test\*.txt') do (
   call :chk %%A
)


:chk
REM カウンタが2以上なら削除
if %cnt% GEQ 2 (
echo %1
)
set /a cnt+=1

1275.
Re:古いログファイルの削除について
2006年07月18日(火) 11時26分
otn
>ご連絡ありがとうございます。
>>「6行だけ残して削除する・・」という話題で
>の話題を確認してみます。
>ありがとうございます。

先日の話題は、「先頭の6行を対象にする」だったので、カウンタを使う必要がありましたが、今回は「先頭の2行以降を対象にする」なので、for の skip= パラメータが使えます。

for /f "skip=2" %%A in ('dir /b /o-d') do del %%A

1277.
Re:古いログファイルの削除について
2006年07月18日(火) 12時56分
まさし
otnさん、ご連絡ありがとうございます。
とてもシンプルでわかりやすいです。
まさにやりたかったことです。
ご指摘いただいた方法で対応しようと思います。
ぽてCCP◆fcMgMQA= さん、otnさん、ありがとうございました。

 
 


カテゴリー「DEL,ERASE,REN…ファイル削除/復活/移動/名前の変更」索引へ
カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2006年07月17日 14:36に投稿されたエントリーのページです。

ひとつ前の投稿は「[FOR]コマンド実行結果の変数へのセットがうまくいかない」です。

次の投稿は「[XP]ファイル移動のバッチ処理でのエラー対処」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート