在Windows批处理脚本中使用FOR LOOP创建多个文件

时间:2017-08-08 11:22:06

标签: windows batch-file

我正在尝试创建批处理脚本,该脚本可以从用户和&然后创建文件&保存该文件中的所有输入。下面是我创建的代码,但它无效。你能帮我吗?

@echo off   
set /P inst=Enter number of installation:    
set /A ha_inst=%inst%    
FOR /L %%i IN (1,1,%ha_inst%) DO (     
    set /P hostname= Enter host name:   
    set /P sid=Enter SID:    
    echo. >C:\Users\smnadm\Desktop\hdbinst.cfg_%%i   
    (    
        echo # Local Host Name     
        echo hostname=%hostname%    
        echo # SAP HANA System ID    
        echo sid=%sid%    
    ) >C:\Users\smnadm\Desktop\%hdbinst.cfg_%%i%   
)    

由于

1 个答案:

答案 0 :(得分:0)

在最后一行代码中写入文件

 C:\Users\smnadm\Desktop\%hdbinst.cfg_%%i%

但是,您的代码中从未设置变量%hdbinst.cfg _%。您可能想要使用 hdbinst.cfg _ %% i

以下代码适用于我:

@echo off 
setlocal ENABLEDELAYEDEXPANSION  
set /P inst=Enter number of installation:    
set /A ha_inst=%inst%    
FOR /L %%i IN (1,1,%ha_inst%) DO (     
    set /P hostname=Enter host name:   
    set /P sid=Enter SID:    
    echo. >C:\temp\hdbinst.cfg_%%i   
    echo # Local Host Name     >>C:\temp\hdbinst.cfg_%%i
    echo hostname=!hostname!   >>C:\temp\hdbinst.cfg_%%i 
    echo # SAP HANA System ID  >>C:\temp\hdbinst.cfg_%%i  
    echo sid=!sid!             >>C:\temp\hdbinst.cfg_%%i

) 

在目录c:\ temp中写作。