質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

13630閲覧

フォルダごとのファイル数をカウントするバッチ

kho_webdesign

総合スコア1

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2022/02/14 11:21

編集2022/02/15 06:32

フォルダごとのファイル数を数えるためのバッチをネットで調べ作成しました。
このバッチファイルを親フォルダ直下に配置し、ダブルクリックで実行しています。
参考URL:https://tranche.hateblo.jp/entry/2015/09/19/131122


@echo off setlocal enabledelayedexpansion set /a counter=0 dir %1 /ad /s /b >test.csv for /f "tokens=1 delims=," %%i in (test.csv) do ( set /a counter = 0 for %%A in (%%i\*) do ( if exist %%A ( set /a counter=counter+1 ) ) echo %%i : !counter! )

しかし結果は、以下のようにCSVファイル内に、ディレクトリが抜き出されて終わってしまいます。

C:\親フォルダ\画像フォルダ01
C:\親フォルダ\画像フォルダ02\

どこが間違っているのかご指摘ください。

※ほかのサイトで、下記のような回答があったのですが、
どこをどうすればよいのかわからずです。。。

(他サイトの内容引用)
バッチの内容は間違いないです。
バッチコマンドの呼び出し方が間違っています。
バッチコマンドにパラメーターのフォルダ名をつけて実行してください。


コマンド.bat C:\フォルダ名

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

denimu

2022/02/14 15:40

タグは正しいものを指定してください。 Windowsのbatは「バッチファイル」です。 「Spring batch」、「Linux」、「PowerShell」は無関係です。
guest

回答2

0

ベストアンサー

しかし結果は、以下のようにCSVファイル内に、ディレクトリが抜き出されて終わってしまいます。

コマンドプロンプトに結果が表示されてると思います。
ただ、Explorerからダブルクリックで実行している為、すぐにウインドウが消えてしまうので質問者さんが見逃しているだけだと思います。
バッチファイルの最終行に以下の1行を追加すると何かキーを押下するまでウインドウが消えなくなります。

cmd

1pause

ディレクトリ名やファイル名に空白など含まれてたりする場合は、"で囲まないと正常に動作しません。

cmd

1@echo off 2setlocal enabledelayedexpansion 3set /a counter=0 4 5dir %1 /ad /s /b >test.csv 6 7for /f "tokens=1 delims=," %%i in (test.csv) do ( 8 set /a counter = 0 9 for %%A in ("%%i\*") do ( 10 if exist "%%A" ( 11 set /a counter=counter+1 12 ) 13 ) 14 echo %%i : !counter! 15) 16pause

投稿2022/02/14 12:59

編集2022/02/16 03:56
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kho_webdesign

2022/02/15 03:57 編集

ありがとうございます! 「pause」を最終行に追加したところ、結果を見ることができました! しかし、ファイル数がカウントされず、全てのフォルダでファイル数が「0」になってしまい、正確にカウントされません。対処方法をご教授いただければ幸いです。 ※追記 拡張子は、「.png」「 .jpg」です
Y.H.

2022/02/16 04:00

ディレクトリ名やファイル名に空白など含まれてたりしませんか? 修正コードを追記しました。
kho_webdesign

2022/02/18 01:09

できました。 大変助かりました、、、ありがとうございました!
guest

0

そもそも、dir /ad ってのはディレクトリのみを表示するオプションです

dir /? でオプション一覧が出てきます

投稿2022/02/14 11:36

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問