2017-10-08 19 views
0

"@echo"コマンドを使用してデータファイルをバッチで書き込みます。バッチファイルを使用してデータを書き込む

は、このアイデアは=」値を設定する必要のあるテキストの1行を持つtest2.batという名前のバッチファイルを作成することです

「を設定した値=%ユーザ入力%>> test2.batを@echo」 %userinput% "ユーザーの入力はユーザーが入力したものです。問題は、すべてのユーザーの入力が1、2、3、および4などの1桁だけである場合、コマンドは機能しないということです。私が1を10に変えた場合、コマンドは機能しますが、1と9の間で何かを選択した場合、それはちょうどそれがうまくいかないように動作します。誰かがなぜ私に説明することができますか?と回避策を回避?直接

答えて

0
>> test2.bat echo set value=%userinput% 

桁あなたのファイルに正確 1行をしたい場合は、リダイレクタは、そのデバイス番号(0 = STDIN、1 = STDOUT、2 =標準エラー出力、未定義3-9)

をリダイレクトする前に、 、>を使用してください。 >>は、既存のデータに付加されます。 >がファイルを再作成します。あなたが使用している各リテラル%の代わりに%%を使用する必要がありますあなたは、ファイル内のリテラル%をしたいない限り

、。 %var%varを評価し、%%var%%を置くリテラル%var%%理由によりリダイレクト表記は、あなたの出力は、それらの入力桁を食べているフォーム1> & 2>であることに%

0

を「エスケープ」。私は、行の先頭にリダイレクト表記を置くのではなく、echoコマンドをかっこで囲む方が簡単だと思います。

@(echo set value=%userinput%)>>test2.bat 
+0

これは私の問題を解決していただきありがとうございます!私は本当に私が明確な答えをどれくらい早く受け取ったかに本当に驚いていました。私がまだ持っていたサイトでの初めてのベストエクスペリエンス –

関連する問題