[前の記事]« 名前に日付を含むファイルの一括削除
[次の記事]ディレクトリ名に日付と時刻を入れたい »

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

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

最新の3ファイルだけ残して削除したい

401.
ファイルの削除
2004年04月16日(金) 13時57分
tocco
はじめまして。toccoです。

バッチで、ファイルの削除を行いたいと思っています。

あるディレクトリーのファイルの中で最新のものを3つ残し、
その他のファイルを削除したいのですが、

Dir /O:D /A:-D

で表示させるところまでしかわかりません。

全くの初心者で、申し訳ないのですが
どなたか、ご教授よろしくお願いいたします。
403.
Re:ファイルの削除
2004年04月16日(金) 14時54分
じゃく
こんにちは。

>あるディレクトリーのファイルの中で最新のものを3つ残し、
>その他のファイルを削除したいのですが、

>Dir /O:D /A:-D

>で表示させるところまでしかわかりません。


windows 2000/XP ですよね?

echo off
for /f "skip=3" %a in ('dir /O:-D /a:-D /b') do del %a

skip=3 で最新の3ファイルを除いています。
for 文の動作については、for /? で詳しく表示されます。
404.
Re2:ファイルの削除
2004年04月16日(金) 15時09分
tocco
>windows 2000/XP ですよね?

はい。
きちんと環境を記述せず申し訳ありません。

>echo off
>for /f "skip=3" %a in ('dir /O:-D /a:-D /b') do del %a

>skip=3 で最新の3ファイルを除いています。
>for 文の動作については、for /? で詳しく表示されます。


希望通りに実行できました☆
本当にありがとうございます。

また何かありましたらご相談させてください。
405.
Re3:ファイルの削除
2004年04月16日(金) 17時34分
じゃく
訂正です。
>>echo off
>>for /f "skip=3" %a in ('dir /O:-D /a:-D /b') do del %a
>>
バッチの場合は、%a→%%aで記述しないと動作しませんでした。
>>echo off
>>for /f "skip=3" %a in ('dir /O:-D /a:-D /b') do del %a

echo off
for /f "skip=3" %%a in ('dir /O:-D /a:-D /b') do del %%a

に訂正します。

>希望通りに実行できました☆
>本当にありがとうございます。

いえいえ、実質1行しかかいてませんから。
今回のようにfor文は奥が深いのでいろいろなことができますよ。
では。
 
 


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

 

カテゴリー一覧

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


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

資料書籍

About

2004年04月16日 00:32に投稿されたエントリーのページです。

ひとつ前の投稿は「名前に日付を含むファイルの一括削除」です。

次の投稿は「ディレクトリ名に日付と時刻を入れたい」です。

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

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