私は、CMDコマンドを使用して特殊文字を検索しようとしている:どのように '...'文字をcmdのfindstrに入れることができますか?
findstr /s /i <special_character> *.*
私は検索したい文字は、すべて単一の文字に圧縮3個のドットである…
です。
どうすればいいですか?
私は、CMDコマンドを使用して特殊文字を検索しようとしている:どのように '...'文字をcmdのfindstrに入れることができますか?
findstr /s /i <special_character> *.*
私は検索したい文字は、すべて単一の文字に圧縮3個のドットである…
です。
どうすればいいですか?
テキストファイルの文字エンコーディングが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
chcpは437でしたが、 – bigcodeszzer
つまり、それは文字通りの数字として入力されます133 – bigcodeszzer
メモ帳を開き、Altキーを押しながらキーパッドに133を入力します。 – lit
このcharは[省略記号]と呼ばれている(httpsのコードページにあるので
myscript.bat
がcmd
シェルから実行された場合、コードポイント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
他の検索方法はありますか?または16進コード自体のために? – bigcodeszzer
ユニコードでは、各文字は2バイトにコード化されています。省略記号は '0x20 0x26'ですが、幸いなことに2つのASCIIの印字可能な文字(空白と'& ')があるので、' find '& 'または' findstr/c: "&'で検索するとよいでしょう。 ASCIIファイルで使用されています – Stephan