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

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

新規登録して質問してみよう
ただいま回答率
85.35%
コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

バッチファイル

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

Q&A

解決済

1回答

6446閲覧

バッチで複数のテキストファイルの中身を出力したい

退会済みユーザー

退会済みユーザー

総合スコア0

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

バッチファイル

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

0グッド

0クリップ

投稿2020/04/06 15:11

質問内容

batで複数のテキストファイルの中身を1行ずつ出力させたいのですが、下記の書き方だと「.txt」の「」が文字列として認識されてしまい以下のエラーが出てしまいます。どのように書けばよいのでしょうか。
ちなみに、aaa.txtとファイル名を指定するとうまくいきます。


エラー内容

ファイル *.txt が見つかりません。


ソース

「test.bat」
@echo off
for /f "delims=" %%a in (*.txt) do (
echo %%a
)
pause
exit

テキストファイル

「aaa.txt」
『内容』
aaa aaa aaa
aaa aaa aaa

「bbb.txt」
『内容』
bbb bbb bbb
bbb bbb bbb

「ccc.txt」
『内容』
ccc ccc ccc
ccc ccc ccc

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

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

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

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

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

guest

回答1

0

ベストアンサー

ファイルの中身を1行ずつ出力させたいのですが

の「1行ずつ」にどんな意味を込めているのか不明です。コードを見る限り1行だけでなくファイル全体を出力しようとしているように見えますが、そうであるなら、type ファイル名でいいです。

ファイル全体を出力する場合:

CMD

1for %%a in (*.txt) do type %%a

各ファイルの1行目だけ出力する場合:

CMD

1for %%a in (*.txt) do call :type "%%~a" 2pause 3exit /b 4 5:type 6for /f "delims=" %%b in (%~1) do ( 7 echo %%b 8 exit /b 9)

投稿2020/04/06 15:21

otn

総合スコア85901

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

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

退会済みユーザー

退会済みユーザー

2020/04/06 15:48

お早いご回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問