【问题标题】:Creating file with advanced name using Batch使用批处理创建具有高级名称的文件
【发布时间】: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


【解决方案1】:

你永远不会设置变量 n,所以 %n% 扩展为一个空字符串,当然...... – aschipfl

Anwser 会检查变量是否正确且已说明。就我而言,我忘记将 n 更改为 Fname。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-20
    • 2021-08-20
    • 2015-01-13
    • 1970-01-01
    • 2021-07-01
    • 2013-03-12
    • 1970-01-01
    • 2014-12-17
    相关资源
    最近更新 更多