アプリ版:「スタンプのみでお礼する」機能のリリースについて

バッチファイルでフォルダにある全てのファイルに対し
ファイルごとにdir /T:Cとdir /T:Wで比較し
同じならば削除
異なれば何もしない
処理をしたく質問させて頂きました

次のような結果の場合日時が同じなのでファイルを削除する
C:\>dir D:\AAA\001.jpg /T:C
ドライブ D のボリューム ラベルは microSD です
ボリューム シリアル番号は E484-83B8 です

D:\AAA のディレクトリ

2012/11/28 12:59 1,284 001.jpg
1 個のファイル 1,284 バイト
0 個のディレクトリ 24,690,798,592 バイトの空き領域

C:\>dir D:\AAA\001.jpg /T:W
ドライブ D のボリューム ラベルは microSD です
ボリューム シリアル番号は E484-83B8 です

D:\AAA のディレクトリ

2012/11/28 12:59 1,284 001.jpg
1 個のファイル 1,284 バイト
0 個のディレクトリ 24,690,798,592 バイトの空き領域


日時が異なるので何もしない
C:\>dir D:\AAA\002.jpg /T:C
ドライブ D のボリューム ラベルは microSD です
ボリューム シリアル番号は E484-83B8 です

D:\AAA のディレクトリ

2012/11/07 03:12 1,443,326 002.jpg
1 個のファイル 1,443,326 バイト
0 個のディレクトリ 24,690,798,592 バイトの空き領域

C:\>dir D:\AAA\002.jpg /T:W
ドライブ D のボリューム ラベルは microSD です
ボリューム シリアル番号は E484-83B8 です

D:\AAA のディレクトリ

2012/11/04 17:53 1,443,326 002.jpg
1 個のファイル 1,443,326 バイト
0 個のディレクトリ 24,690,798,592 バイトの空き領域


またもっと簡単にdir D:\AAA /T:Cとdir D:\AAA /T:Wの結果で
分岐処理は可能でしょうか

よろしくお願いします

A 回答 (2件)

No1です。


これでどうでしょう。

@echo off
cd /d D:\AAA
for /f "delims=" %%A in ('dir /b /s /a-d') do (
for /f "tokens=1,2" %%B in ('dir "%%A" /t:c ^| findstr /b 2') do (
for /f "tokens=1,2" %%D in ('dir "%%A" /t:w ^| findstr /b 2') do (
if "%%B %%C" == "%%D %%E" del "%%A"
)
)
)
    • good
    • 0
この回答へのお礼

回答ありがとうございました
動作の確認が取れ大変喜んでおります

どうもありがとうございました

お礼日時:2012/12/02 01:47

@echo off


cd /d D:\AAA
for %%A in (*) do (
for /f "tokens=1,2" %%B in ('dir "%%A" /t:c ^| findstr /b 2') do (
for /f "tokens=1,2" %%D in ('dir "%%A" /t:a ^| findstr /b 2') do (
if "%%B %%C" == "%%D %%E" del "%%A"
)
)
)

秒単位で違う場合も同じ時刻と見なしちゃうけど、それはしょうがない。
VBScriptを使うと、秒単位で時刻がとれます。

この回答への補足

回答ありがとうございました

テストでは
> for /f "tokens=1,2" %%D in ('dir "%%A" /t:a ^| findstr /b 2') do (
for /f "tokens=1,2" %%D in ('dir "%%A" /t:w ^| findstr /b 2') do (
とすることで期待通りの動作を確認しました
どうもありがとうございました

質問の仕方が悪く大変申し訳ないことをしてしまいました
実際には階層がもう一つ有り
D:\AAA\BBB\*.*
D:\AAA\CCC\*.*
のようになっておりました

先日教えて頂きました
> for /f "delims=" %%A in ('dir /b /s /a-d') do call :SUB "%%~A"
を利用させて頂きましてファイル名の取得後のdirで躓いております

お忙しい中申し訳ありませんがよろしくお願いします

補足日時:2012/12/01 00:53
    • good
    • 0

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