バッチファイルでフォルダにある全てのファイルに対し
ファイルごとに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の結果で
分岐処理は可能でしょうか
よろしくお願いします
No.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"
)
)
)
No.1
- 回答日時:
@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で躓いております
お忙しい中申し訳ありませんがよろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- UNIX・Linux 空のディレクトリで dir を行ったとき 4 2023/05/05 17:54
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- ドライブ・ストレージ ボリュームFとメインGのドライブの空き領域に違いがあります。 プロパティをみるとファイル数は同じでし 4 2023/08/12 10:04
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでrenameができませ...
-
vba dir の相対パス
-
dos変数の%~dp0は powershellで...
-
Perlスクリプトでフォルダを開...
-
readdir()で得られるファイル・...
-
複数ファイルの読み込みについて
-
chdirがうまくできない
-
Windowsで複数のファイルを同じ...
-
VBAでCSVファイルを途中行まで...
-
バッチファイルの作り方(CSV→...
-
close()で例外が投げられる理由
-
VBAでCSVファイルの特定行を書...
-
openした後、closeしないでプロ...
-
VBAコードを張り付け後のエクセ...
-
ListBoxのデータを高速でファイ...
-
JavaでCSVファイルを高速に読む...
-
至急お願いします。C言語で.img...
-
タブの色を変更する方法
-
while(<ハンドラ>) {} で行数を...
-
RSS自動生成で文字化け
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
FindFirstFileとFindNextFileで...
-
ディレクトリの判別
-
Windowsで複数のファイルを同じ...
-
vba dir の相対パス
-
パスから最後のディレクトリだ...
-
chdirがうまくできない
-
テキストファイルの結合
-
dos変数の%~dp0は powershellで...
-
Perlで フォルダ内の全て...
-
readdir()で得られるファイル・...
-
makefileでファイルをコピー(...
-
C言語でファイル名を取得
-
サーバーにある特定の拡張子フ...
-
ディレクトリツリーの表示
-
ファイル名と更新日付の取得に...
-
Director拡張子
-
LinuxのC言語で、ファイル名の...
-
複数ファイルの読み込みについて
-
ディレクトリ名を取得したい
おすすめ情報