2016-11-03 10 views
0

このコードは、ここのポストにあります。私はバッチファイルのためにそれを使用し、それは動作します。私は、FINDコマンドの後に二重引用符で '/'が何を意味するのかを理解しようとしています。バッチファイルからこの行の "/"の意味は何ですか?

dir /a-d "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C "/" 

ありがとうございます!

+4

これは必要な情報です。 –

答えて

0

findにリダイレクトされているdirコマンドで見つかる文字列をfindコマンドに伝えます。 /cは、findに、count-of-linesを出力するように指示します。-where-target-string-is-foundは、したがって、日付区切り文字が/の場合、count-of-files-foundです。

+0

ありがとうございます。私はそれが日付区切り文字を見つけることを意図していると確信しています。私を捨てていたのは、「A」のように別の変数を入れた場合、「/」で得られるものよりも1つ多い数値です。 (ファイルの名前は非常に長く、ほとんどの文字がその中に表現されています。) – Ehdge

0

あなたは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コマンドでサポートされ、便利です。

0

コマンドラインは、一致するファイルの数を取得するためのものです。 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ファイルの合計数を返します。元のアプローチとは対照的に、これはロケールとリージョンの設定から完全に独立しています。

関連する問題