2017-10-15 13 views
0

私の名前でテキストファイルに環境変数を書き込むにはどうすればいいですか? 私のコードは次のようである:テキストファイルへの環境変数

@echo off 
cd c:\users\user\desktop\ 
set /p name = "Input filename: " 
copy nul %name%.txt 
set > %name%.txt 

しかし、それは任意のファイルを作成しません。

+0

あなたが書きたいん何'%name%.txt'にありますか? – sohaib

+0

'%name%.txt'でランダムな環境変数を送信したい場合、' echo%MY_VARIABLE%>>%name%.txt'を試すことができます。 – sohaib

+4

'.txt'というファイルが作成されていませんか?そのファイルを調べると、 'set'が '='の*両側のスペースに敏感なので 'name = yourname'という行があることがわかります。 '='の前のスペースを削除します。それ以外の場合は、 'name [space]'という変数を設定します。 – Magoo

答えて

1

あなたの問題がである:

set /p name = "Input filename: " 

すぐに実際にあなたがその値で始まるすべての変数を表示するにはset namを実行するかどうかを確認することができるようになりますname<space>という変数名を、作成しますnameを次のスペース。

証明するために、次のトランスクリプトを参照してください:

C:\pax> set /p x = ? 
?with-space 

C:\pax> set /p x=? 
?no-space 

C:\pax> set x 
x=no-space 
x =with-space 

転写産物は、単にスペースを削除するために、あなたの行を変更する方法修正それ、表示されていること:

set /p name="Input filename: "