このコードは、ここのポストにあります。私はバッチファイルのためにそれを使用し、それは動作します。私は、FINDコマンドの後に二重引用符で '/'が何を意味するのかを理解しようとしています。バッチファイルからこの行の "/"の意味は何ですか?
dir /a-d "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C "/"
ありがとうございます!
このコードは、ここのポストにあります。私はバッチファイルのためにそれを使用し、それは動作します。私は、FINDコマンドの後に二重引用符で '/'が何を意味するのかを理解しようとしています。バッチファイルからこの行の "/"の意味は何ですか?
dir /a-d "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C "/"
ありがとうございます!
find
にリダイレクトされているdir
コマンドで見つかる文字列をfind
コマンドに伝えます。 /c
は、find
に、count-of-linesを出力するように指示します。-where-target-string-is-foundは、したがって、日付区切り文字が/
の場合、count-of-files-foundです。
ありがとうございます。私はそれが日付区切り文字を見つけることを意図していると確信しています。私を捨てていたのは、「A」のように別の変数を入れた場合、「/」で得られるものよりも1つ多い数値です。 (ファイルの名前は非常に長く、ほとんどの文字がその中に表現されています。) – Ehdge
あなたはCMDウィンドウで
FIND /?
を入力した場合、FIND
はそのようなその使用方法をご紹介します:
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V Displays all lines NOT containing the specified string.
/C Displays only the count of lines containing the string.
/N Displays line numbers with the displayed lines.
/I Ignores the case of characters when searching for the string.
/OFF[LINE] Do not skip files with offline attribute set.
"string" Specifies the text string to find.
[drive:][path]filename
Specifies a file or files to search.
If a path is not specified, FIND searches the text typed at the prompt
or piped from another command.
を、それはあなたがFIND
検索する二重引用符でように文字列。
/?
オプションは、多くの組み込みDOSコマンドでサポートされ、便利です。
コマンドラインは、一致するファイルの数を取得するためのものです。 dir
はヘッダー、日付/時刻、サイズとフッターを含むファイルのリストを返すので、検索文字として/
が選択されている可能性があります。これはファイルリストの日付にのみ発生する可能性がありますが、ヘッダー/フッター)。ここでdir /A-D "\\SERVERNAME\SHARE\FOLDER\*.ext"
の出力例です:
Volume in drive \\SERVERNAME\SHARE is DATA Volume Serial Number is 0000-0000 Directory of \\SERVERNAME\SHARE\FOLDER 03/11/2016 12:00 10 file.ext 03/11/2016 11:00 26 sample.ext 2 File(s) 36 bytes 0 Dir(s) 99,999,999,964 bytes free
あなたが見ることができるように、それが現在のマシン上の日付の区切りとして定義されている場合には、スラッシュ文字(/
)は、日付にのみ存在し、全体的なアプローチはロケール設定に依存します。
|
パイプは、少なくとも一つの/
文字を含む行(/C
)の数をカウントし、次のコマンド、すなわちfind /C "/"
、この出力を搬送します。
私は右の私の疑いで、あなたの代わりに次の行を使用することができていた場合:
dir /B /A-D "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C /V ""
を/B
スイッチは、例えば、次のように、任意のエキストラなしで裸のファイルリストを返すようにdir
を伝えます:次に
sample.ext file.ext
find /C /V ""
コマンドは、()空の文字列(""
)と一致しないすべての行をカウントします(/C
)。したがって、指定された場所にある*.ext
ファイルの合計数を返します。元のアプローチとは対照的に、これはロケールとリージョンの設定から完全に独立しています。
これは必要な情報です。 –