【发布时间】:2015-11-16 13:19:26
【问题描述】:
我正在尝试使用批处理脚本来创建如下文件:
echo ping %ip% -t -l %psize1% >%n%_%psize1%.bat
-
%n%(名称)在其他区域正确和%psize1%(包装大小) - 如果
%n%是test并且%psize1%是10那么文件应该看起来像test_10.bat
但是,它会创建 _10.bat 文件并将 %n% 语句完全排除在外。
@echo off
mode 128.64
title DOS Creator 2.0
color 07
:wrapper
cls
echo --------------------------------------------------------
echo Welcome To Ping check By Raoul
echo --------------------------------------------------------
echo.
pause
:menu
cls
echo -----------------------------------------
echo - 1. Guide
echo - 2. Target Information
echo - 3. Parameters
echo - 4. Exectution Parameters
echo - 5. Final Check
echo - 6. Exit
echo -----------------------------------------
set /p option="Option : "
If "%option%" == "" (
echo PLASE STATE ANNY OF THE ABOVE NAMED OPTIONS
pause
Goto :menu
) else if "%option%" == "1" (
goto :Guide
) else if "%option%" == "2" (
goto :info
) else if "%option%" == "3" (
goto :end
)
:Guide
cls
echo this is still WIP
pause
goto :menu
:info
cls
set /p ip=Ip Host:
set /p fname=File Name:
pause
cls
echo The Following has been stated:
echo IP:----------------"%ip%"
echo File Name:---------"%fname%"
echo.
set /p option="Is this correct? (y/n) : "
if "%option%" == "y" goto :Parameters
goto :Target
:Parameters
cls
echo.
set /p psize1=Package size file 1:
echo.
set /p option="Ready to create files? (y/n) : "
if "%option%" == "y" Goto :Creator
goto :Parameters
:Creator
echo ping %ip% -t -l %psize1% >%n% %psize1%.bat
cls
echo --------------------------------------------------------
echo The following files have been created with info:
echo Target IP -"%ip%"- Package size for file 1 -%psize1%-
echo --------------------------------------------------------
echo.
pause
【问题讨论】:
-
您是否在
for-loop 中更改n变量?我看不出代码有什么问题,所以我建议您在问题中添加更多相关代码。 -
我同意wOxxOm,请将完整的批处理文件放在这里,以便我们查看批处理文件过程中是否分配或更改了n的值。
-
如何添加代码?它弄乱了间距和线条..
-
标记它并按下
{ }图标。 -
你永远不会设置变量
n,所以%n%当然会扩展为一个空字符串......
标签: windows file batch-file filenames