2016-09-17 5 views
0

私は、CMDコマンドを使用して特殊文字を検索しようとしている:どのように '...'文字をcmdのfindstrに入れることができますか?

findstr /s /i <special_character> *.* 

私は検索したい文字は、すべて単一の文字に圧縮3個のドットである

です。

どうすればいいですか?

+1

このcharは[省略記号]と呼ばれている(httpsのコードページにあるのでmyscript.batcmdシェルから実行された場合、コードポイント0x85の文字がGRAVE WITH LATIN SMALL LETTER Aとして

表示されます.wikipedia.org/wiki/Ellipsis)であり、[Unicode character](http://www.fileformat.info/info/unicode/char/2026/index.htm)です。申し訳ありませんが、 'findst' [それを処理できません](http://stackoverflow.com/a/15280875/2152082)。 – Stephan

+0

他の検索方法はありますか?または16進コード自体のために? – bigcodeszzer

+0

ユニコードでは、各文字は2バイトにコード化されています。省略記号は '0x20 0x26'ですが、幸いなことに2つのASCIIの印字可能な文字(空白と'& ')があるので、' find '& 'または' findstr/c: "&'で検索するとよいでしょう。 ASCIIファイルで使用されています – Stephan

答えて

0

テキストファイルの文字エンコーディングがMicrosoft Windows独自のコードページ1252(英語と西ヨーロッパ)の場合、FINDSTR.EXEを使用できます。

コードページ1252の省略記号は0x85です。コードページ437を使用してコマンドラインで文字を入力するには、Altキーを押しながら0x85の小数値を入力します。その小数値は133です。

メモ帳に次のテキストをコピーして貼り付けるか、Altキーを押しながらテンキーパッド0133に入力します。これをmyscript.batという名前で保存します。 cmdシェルから

findstr /L "…" myfile.txt 

TYPE myscript.batを入力します。以下のように表示されます。これは、コードページ1252の133文字は水平方向の楕円文字ですが、コードページ437では、小文字の小文字文字付きです。

findstr /L "à" myfile.txt 

現在cmdシェルで使用されるコードページを参照してくださいchcpコマンドを使用します。 // EN:それは437

+0

chcpは437でしたが、 – bigcodeszzer

+0

つまり、それは文字通りの数字として入力されます133 – bigcodeszzer

+0

メモ帳を開き、Altキーを押しながらキーパッドに133を入力します。 – lit

関連する問題