2014-11-24 36 views
0

我有這樣的代碼:閱讀與statment文件 - 批量

@echo off 
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do set /p key= < lead_r.txt 
ECHO %key% 
PAUSE 

我希望它做的是打開一個特定的文本文件,讀取它,然後寫什麼在它%key%。它在lead_r.txt和批處理文件位於同一文件夾中時起作用,但當我將lead.txt移動到\files\text時失敗。在\files\text沒有空格的文件,所以我不知道問題出在哪裏。

感謝

回答

0

很難理解你的目標,但嘗試下面的代碼片段:

@echo off >Nul 
setlocal EnableDelayedExpansion 
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do (
rem the same file in next line 
rem set /p key=< lead_r.txt 
set /p key= < %%a 
ECHO !key! 
PAUSE 
) 
endlocal 

這裏介意關鍵字命令setlocalEnableDelayedExpansion;擴大在執行時變量,而不是在分析時,如果使用!key!語法而不是%key%之一。

+0

謝謝,我一直在尋找。 – Prixeler 2014-11-24 22:25:49