[前の記事]« XCOPY:「上書きしますか?」へのユーザーの応答結果によって処理を分岐したい
[次の記事]指定時刻に自動ログインする方法を探しています »

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

▲カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

端末日付の前月の指定方法

543.
端末日付の前月の指定方法
2004年06月21日(月) 14時09分
KEITARO
今、D:\TEST というフォルダに AAAA20040501120101.TXTというファイル名のテキストデータが入っています。AAAAは固定で、20040501は端末日付よりセット、120101時間となっています。
set TODAY=%DATE:/=%
set TODAY1=%TODAY:~0,1%
set TODAY=%TODAY:~2,8%
set TOTIME=%TIME::=%
set TOTIME=%TOTIME:~0,6%

環境変数でファイル名のセットを行っていますが、
D:\TEST\というフォルダの中のAAAA20040501120101.TXTのファイル名の前月のものAAAA20040401240511.TXTというファイルを削除したいのですが、どのようにすればよろしいでしょうか?よろしくお願いいたします。
547.
Re:端末日付の前月の指定方法
2004年06月23日(水) 01時19分
oo
>今、D:\TEST というフォルダに AAAA20040501120101.TXTというファイル名のテキストデータが入っています。AAAAは固定で、20040501は端末日付よりセット、120101時間となっています。
>set TODAY=%DATE:/=%
>set TODAY1=%TODAY:~0,1%
>set TODAY=%TODAY:~2,8%
>set TOTIME=%TIME::=%
>set TOTIME=%TOTIME:~0,6%

>環境変数でファイル名のセットを行っていますが、
>D:\TEST\というフォルダの中のAAAA20040501120101.TXTのファイル名の前月のものAAAA20040401240511.TXTというファイルを削除したいのですが、どのようにすればよろしいでしょうか?よろしくお願いいたします。

set TODAY=%TODAY:~2,8% しているということは、%DATE% の先頭に曜日が付くWin2000ですね。XPなら曜日が付かないのでこの行は不要になります。%TODAY:~-8,8% ならどちらでもOKです。

こんな感じでしょうか。未テストですが。

setlocal enabledelayedexpansion
set TODAY=%DATE:/=%
set TODAY=%TODAY:~-8,8%
if %TODAY:~4,2%==01 ( set /a OLDDAY=TODAY-10000+1100
) else ( set /a OLDDAY=TODAY-100 )
for %%F in (AAAA??????????????.TXT) do (
 set FILE=%%F
 if !FILE:~4,8! LEQ %OLDDAY% del "%%F"
)
あと、
>set TOTIME=%TIME::=%
>set TOTIME=%TOTIME:~0,6%
だと、9時台までは1文字目が空白になると思いますがいいのでしょうか?
set TOTIME=%TOTIME: =0%
をつけたほうがいいのでは?
 
 


カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2004年06月21日 20:11に投稿されたエントリーのページです。

ひとつ前の投稿は「XCOPY:「上書きしますか?」へのユーザーの応答結果によって処理を分岐したい」です。

次の投稿は「指定時刻に自動ログインする方法を探しています」です。

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

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