2016-10-05 29 views
2

我需要用戶輸入並存儲存儲在一個文本文件,而下/ F循環順序...如何獲得提示用戶輸入(套/ P)下FOR/F環

text1.txt(數據)

Title1 
Title2 
Title3 

代碼:

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 
for /F "delims=" %%a in (text1.txt) do (
    echo Group Name: %%a 
    set /p d1="Enter genre:" 
    echo. 
    echo %%a 
    echo %d1% 
    echo %d1%>>text2.txt 
) 
:end 

但返回輸出是D1%% 「ECHO OFF」,任何人都可以幫我這個。

text2.txt

Anime 
Horror 
Comedy 

我希望得到任何幫助,您可以提供。

+5

您需要[延期擴展](http://ss64.com/nt/delayedexpansion.html),因爲您正在將*和*變量設置在同一代碼塊中。 – aschipfl

回答

1
@echo off 
setlocal enabledelayedexpansion 
for /f "delims=" %%a in (text1.txt) do (
    echo Group Name: %%a 
    set /p d1="Enter genre: " 
    echo. 
    echo %%a 
    echo !d1! 
    echo !d1!>>text2.txt 
) 

enabledelayedexpansion只是工作的一半。您仍然必須使用!...!而不是%...%來包圍循環內設置的變量。

相關問題