2013-07-04 77 views
2

我試圖讓批處理文件接受用戶輸入並將其置於文件中...這是我的代碼。批量寫入文件

set /p input path=Path: 
echo %path% >> log.txt 
當我打開回聲關閉

,它把人字形 「1」 盈像這樣:

echo C:/Example/Path 1>> log.txt 
the system can not find the file specified. 

請任何人都可以解釋這

回答

1

您的SET聲明是錯誤的。 :-)此外,PATH已分配的環境(在Windows PATH,並改變它可能會導致問題在批處理文件中運行其他命令

試試這個:

set /p "Input=Path: " 
echo %Input% >> log.txt 
2

試試這個:

set /p "MyNewPath=Path: " 
>>log.txt echo %MyNewPath% 
+0

這根本不起作用。 – William

+0

這裏工作,錯誤味精? – Endoro

3

當然 - 我「會回答提出的問題。

本來>somewhere或任何重定向將數據發送到指定的目標。

隨着更改NT版本,這是擴大。直接位於重定向器之前的數字表示logical file number,其中0 = STDIN(標準輸入)1 = STDOUT(標準輸出),2 = STDERR(標準錯誤)。其他0未定義。此可以原因的問題,其中的數據(典型地)要被輸出以數字結束,因此>filename echo ...語法

因此,爲了向後兼容,(例如)>nul仍然處理爲它一直是,但它是ECHO ed以其明確格式1>nul - 將STDOUT發送到nul以區分它2>somewhere_else

+0

非常感謝 - 非常有幫助。 – William