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

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

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

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

Q&A

解決済

2回答

5043閲覧

バッチ処理で遅延環境変数が解決できない

Chandler_Bing

総合スコア673

バッチファイル

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

0グッド

0クリップ

投稿2019/08/19 06:25

編集2019/08/19 06:40

bat

1@echo off 2setlocal enabledelayedexpansion 3 4rem カレントディレクトリにSongsフォルダを作成する 5 6mkdir Songs 7 8if %errorlevel% == 0 ( 9 10for /f %%a in (wonderfultonight.txt) do ( 11 set name = %%a 12 goto temp 13) 14 15:temp 16 echo !name! 17 18) 19

この出力結果が「Echo id off」となります。

どこが間違っていますでしょうか。

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

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

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

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

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

y_waiwai

2019/08/19 06:34

どういう出力なら「正常」なんでしょうか
guest

回答2

0

自己解決

またまたお騒がせしました。
set 変数名=値
のようにスペースをなくすとうまくいきました。

投稿2019/08/19 07:48

Chandler_Bing

総合スコア673

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

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

0

:temp echo !name!

上記で発生していますが、ここで出力しようとしている「name」がどこにも出てこないので未定義(=空)のため、echoが引数なしで実行されているからだと思われます。


追記への回答
=の前後にスペースが入っているため除去すると値が設定されているかと思います。

rem set name = %%a set name=%%a

投稿2019/08/19 06:33

編集2019/08/19 06:43
yamap55

総合スコア1376

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

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

Chandler_Bing

2019/08/19 06:39

載せるコードが間違っておりました。 定義しても同じ値になります。 正常値は人の名前です。
Chandler_Bing

2019/08/19 06:53

現在のコードを記載しました。
yamap55

2019/08/19 07:30

追記しておりますが、想定の出力と異なっておりますでしょうか?
Chandler_Bing

2019/08/19 07:49

入れ違いになってしまいました。 おっしゃるっとりスペースでした。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問