A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
そのままの構文でも、変数のデータが以下の様な感じなら不具合は起きないはずです。
@echo off
set DATA=xxx
set OUTPUT_FILE=OUTPUT_FILE.txt
echo %DATA%>%OUTPUT_FILE%
不具合が起きる原因として考えられるのは、
パスや変数に、特殊な意味を持つ半角記号が含まれる場合です。
「"」「<」「>」「&」「|」「%」と、半角スペースです。
これらは、エスケープをし、文字として認識させる必要があります。
「%」以外の半角記号は、
「^」を使ってエスケープします。
「%」は「%」を使ってエスケープします。
つまり、「%%」と書きます。
コマンドプロンプトで直接打っている場合は、必要ないかも知れません。
例えば、上記の構文を使って、
「&」という文字をファイル出力したいとします。
「set DATA=&」としてしまうと、
「&」は特殊な意味がある記号ですから、うまくセットされません。
「&」をエスケープする為に、「^」を付けて、
「set DATA=^&」とすると、
「DATA」に「&」がセットされた状態にはなりますが、
ファイル出力はうまくいきません。
「echo &>%OUTPUT_FILE%」という状態になっているからです。
うまく「&」をファイル出力するには、
「echo ^&>%OUTPUT_FILE%」という状態にしなくてはいけません。
ですので、変数「DATA」をセットする段階で、
「^」を「^^」とエスケープし、
「&」を「^&」とエスケープし、
「set DATA=^^^&」とすると、
「DATA」に「^&」がセットされた状態になり、
「echo ^&>%OUTPUT_FILE%」となり、
これでやっと「&」がファイル出力されます。
エスケープが面倒な場合は、「"」で囲むと、その間にある半角記号は基本的に文字として認識されますが、「%」と「"」が入っている場合はうまくいきませんので注意が必要です。
「&」を「"」で囲む例は以下の通りです。
set DATA="&"
echo %DATA%>%OUTPUT_FILE%
ただ、これだと、最初と最後に「"」が付いた状態で出力されます。
あと、パスに関しては、
個人的には、全て「"」で囲んだ方が無難だと思います。
変数に入れるパスは、
「"」無しの方が、後々扱いやすいかと思います。
えっと、そのままでは不具合が起きるので質問をしました。
この後いろいろ調べてみましたが、バッチファイルではやりたいことをやるのが難しいことがわかりました
他の方法を考えてみようと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- その他(プログラミング・Web制作) Windowsのバッチファイルについてご教示ください 5 2023/07/25 20:23
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- iOS ファイルの名前変更 2 2022/08/11 20:47
- PHP phpでアクセスカウンターの数値の割合でリンク先を変更したい 1 2022/09/16 11:47
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
このQ&Aを見た人はこんなQ&Aも見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
5
バッチコマンドの「set」で入力した内容をファイルに出力する場合の問題点
Windows Vista・XP
-
6
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
7
Windowsのバッチファイルを利用しtxtファイルの指定のした位置に文字を追加する方法
その他(プログラミング・Web制作)
-
8
バッチファイルで改行の出力
UNIX・Linux
-
9
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
10
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
11
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
12
バッチファイル内のコマンドプロンプトを1つずつ実行するにはどうしたらよいでしょうか?
IT・エンジニアリング
-
13
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
14
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
15
バッチファイル 指定行の切り出し
その他(Microsoft Office)
-
16
コマンド実行結果を環境変数に代入する方法ありますか
iOS
-
17
COPYコマンドで結合すると余計な改行コードができる
その他(プログラミング・Web制作)
-
18
txtファイルから特定の文字列が書かれた行だけを取得や削除するソフト
フリーソフト
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
echo abc" >> test.txt で、先頭に追加するには?"
その他(OS)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
教えてください!困ってます。
-
ファイルの先頭行を全て削除したい
-
Androidでダウンロードに失敗し...
-
同期センターのマークが出てま...
-
onedriveの中身を削除したらパ...
-
cshでのリンクファイルの存在確...
-
Excellにて→ファイルエラー:デ...
-
mrl→midファイルへ
-
ショートカットアイコンと、元...
-
mac ファイルの詳細情報を編集...
-
バッチファイルで変数の中身を...
-
macのdmgファイル(動画)をMP4...
-
コマンドプロンプトによるフォ...
-
バッチファイルからタスクスケ...
-
VScodeでjarファイルを開く方法
-
office365 ファイルを削除したい
-
ファイル操作(削除など…)の履...
-
Windows10 フォルダ内の自動並...
-
ページファイルの断片化とMFTの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
教えてください!困ってます。
-
ファイルの先頭行を全て削除したい
-
ファイルの単位
-
同期センターのマークが出てま...
-
onedriveの中身を削除したらパ...
-
Windows10 フォルダ内の自動並...
-
emlをtxtに変換するには?
-
バッチファイルで変数の中身を...
-
macのdmgファイル(動画)をMP4...
-
コマンドプロンプトによるフォ...
-
VScodeでjarファイルを開く方法
-
mrl→midファイルへ
-
office365 ファイルを削除したい
-
mac 表示できなくなりました。
-
Excellにて→ファイルエラー:デ...
-
外字ファイル、eudc.tte と e...
-
クラリスワークスのファイルを...
-
共有フォルダ内のファイル使用...
-
.pkgというファイルについて。
おすすめ情報