これを動作させようとしています。バッチファイル、dirコマンドによる文字列の入力
dir:3 File(s) 7,332,731,128 bytes
からこの行を取得して、追加に使用するファイル数を取得しようとしています。
@Echo ON
dir %1 /a:h | find "File(s)" > hidden.txt
dir %1 | find "File(s)" > reg.txt
set /p hidden=<hidden.txt
echo %hidden%
IF /I "%hidden%"=="File Not Found" (
Set hidden = 0
) Else (
Set hidden=%hidden~-29%)
echo %hidden%
Set /p reg=<reg.txt
IF /I "%hidden%"=="File Not Found" (
set reg = 0
) ELSE (
Set reg=%reg~-29%)
set /a total = %reg% + %hidden%
Echo The total number of files in the %1 directory is: %total%. This includes hidden files.
Echo.
Echo The total number of non-hidden files in the %1 directory is: %reg%.
Echo.
Echo The total number of hidden files in the %1 directory is: %hidden%
'FOR/F'コマンドを使用して、作成した出力ファイルを読み込んだり、' DIR'コマンドと 'FIND'コマンドの出力を解析することができます。デフォルトでは、出力は最初のスペースで分割されます。ですから、環境変数に 'FOR'変数を代入して、後でスクリプトで使うことができます。 – Squashman
より良い選択肢は、 'FIND'コマンドの'/C'オプションを使ってファイルの数を数えることです。 'dir"%1 "/ a:h-d/b | find/c/v" "' – Squashman