質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

1579閲覧

batファイルにてファイル名に特定の文字列が入っているテキストファイルを開きたい

yutaroshiraishi

総合スコア2

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2021/09/30 05:15

batファイルにてファイル名に特定の文字列が入っているテキストファイルを開きたいです。

開きたいファイル名の文字列については下記のとおりです
「ABC0010_"今日の日付"+"何の文字列でもよい".txt」

例:「ABC0010_202109301408.txt」
例:「ABC0010_20210930aaaaaaa.txt」

### 試したこと
下記のようにstartをつかってファイル名を開こうとしても、””の中だと正規表現が使えないようでした。

start "" "C:\Users\ユーザー名\desktop\KRB0050_^20210930[Aa][Aa][0-9]*$.log"
start "" C:\Users\ユーザー名\desktop\KRB0050_^20210930[Aa][Aa][0-9]*$.log

また、変数を使って挿入しようとしましたが、こちらもダメでした。

set day = 202109301318 start "" "C:\Users\ユーザー名\desktop\KRB0050_"%day%".log"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2021/09/30 05:22

バッチファイルは旧式で、正規表現は後継の PowerShell で実現されています。
yutaroshiraishi

2021/09/30 05:24

なるほど、そうなのですね。powershellにての実装考えてみます!
guest

回答2

0

一般のプログラミング言語と異なり、バッチスクリプトの変数名には空白も使えます。

set day = 202109301318

=の前の空白は変数名の一部になります。また、=の後の空白はセットされる値の一部です。
なのでこれは、day空白と言う空白入りの名前の変数に、空白202109301318をセットしているので、期待通りにはなっていません。

dayという変数に202109301318をセットしたければ、set day=202109301318です。
参考:

CMD

1set day=1111111111 2set day = 2222222222 3echo /%day%/ 4echo /%day %/

「ABC0010_"今日の日付"+"何の文字列でもよい".txt」

であれば、

CMD

1for %%A in (ABC0010_%DATE:/=%*.txt) do start "" "%%A"

投稿2021/09/30 07:10

otn

総合スコア84804

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

powershellにて下記のコードで開くことができました。

Zuishin様ありがとうございました。
(ベストアンサーのようなものができなかったので。)

powershell

1Invoke-Item "C:\Users\ユーザー名\desktop\ABC0010_20210930*.txt" 2

投稿2021/09/30 05:46

yutaroshiraishi

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問