2017-05-30 61 views
1

我在C:\Projects\FileServer\Scripts\A.bat文件夾和文本文件中有一個批處理文件C:\Projects\FileServer\B.txt。我想將B.txt第一行讀入我的批處理文件中的一個變量,該變量將從C:\Projects\FileServer\Scripts位置執行。當兩個文件都在不同的目錄中時,尋找將文本文件讀入批處理文件

下面我試過,但沒有工作 - 無法找到txt文件

set /p fileserver=< B.txt 
echo %fileserver% 

set folder=%fileserver%\TestData 
if not exist "%folder%" mkdir %folder% 
+2

你需要照顧潛在的問題,養成使用雙引號的習慣。 **'Set/P「fileserver =」<「.. \ B.txt」**,**'設置「文件夾=%fileserver%\ TestData」**和**'如果不存在「%文件夾% \「MD」%folder%「'** – Compo

+0

'<」%〜dp0 .. \ B.txt「set/P fileserver =」「'should work('%〜dp0' points to the directory directory with the script with a尾隨'\';'''去一個目錄級別)... – aschipfl

+0

它工作得很好,如果我們必須去一個級別。如果在其他機器或其他驅動器中提供完整路徑,則無法工作。有些東西 - Set/P「fileserver =」<「D:\ MyData \ B.txt」或Set/P「fileserver =」<「\\ 192.10.10.1 \ MyData \ B.txt」??? –

回答

0

這似乎是一個錯誤的道路。 試試這個:

set /p fileserver=< ..\B.txt 
+0

當前工作目錄不一定是包含批處理腳本的目錄... – aschipfl

+0

如果我們必須升級一級,它工作得很好。如果在其他機器或其他驅動器中提供完整路徑,則無法工作。有些東西 - Set/P「fileserver =」<「D:\ MyData \ B.txt」或Set/P「fileserver =」<「\\ 192.10.10.1 \ MyData \ B.txt」??? –

+0

你使用所有這些雙引號? 'Set/P「fileserver =」<「D:\ MyData \ B.txt」' 嘗試刪除所有像這樣的雙引號: 'set/p fileserve =

相關問題