1 件の投稿を表示中 (合計 2 個)
  • 作成者
    投稿
  • #25478
    aetos
    参加者

    お世話になっております。
    バージョン 18.4.0 です。

    以下のようなファイルを、D:\Test\test.bat として置いたとします。
    この中から “bar.exe” の部分だけを取り出したいです。

    cd /D %~dp0
    bar.exe “baz”

    test.bat の他にもファイルはあって、中にはパス付で書かれているものもある中で、パスやコマンドライン引数を除いて、実行ファイル名だけを取り出したいです。
    D:\Test に対して「ファイルから検索」で、^[^\\]+\.exe というパターンで検索をします。この時「単語のみ検索する」にチェックをつけています。

    結果は
    D:\Test\test.bat(1): cd /D %~dp0
    という表示になります。

    D:\Test\test.bat(2): bar.exe "baz"
    になって欲しいのですが、何故こうならないのでしょうか…

    なお、test.bat を開いて、同じパターンで検索をすると、bar.exe のみがヒットします。

    # 正規表現は難しいです

    #25479
    Yutaka Emura
    キーマスター

    aetos 様

    いつもお世話になっております。江村です。

    ファイルから検索では、「^」が行頭を意味しないのが問題ですね。次のように指定すれば問題はありません。

    [^\\\n]+\.exe

    よろしくお願い申し上げます。

1 件の投稿を表示中 (合計 2 個)
  • このトピックに返信するにはログインしてください。