批处理:如何使用批量转义特殊字符创建.bat

时间:2015-02-03 14:07:32

标签: windows batch-file cmd

为什么不起作用? 我想通过批处理文件创建一个.bat,但我不能创建一个包含变量的.bat文件。

谢谢!

rem echo off

echo @echo off > c:\temp\ping.bat

echo rem Test della perdita di pacchetti verso un indirizzo >> c:\temp\ping.bat

echo set data^=20^%date:~6,4^%_^%date:~3,2^%_^%date:~0,2^% >> c:\temp\ping.bat

echo set ora=^%time:~0,2^% >> c:\temp\ping.bat

echo set name^=ping-^%data^% >> c:\temp\ping.bat

echo @echo on >> c:\temp\ping.bat

set comando=ping -t %addr%

echo %comando% >> c:\temp\ping.bat

谢谢!我这样做是因为我需要创建一个“ping.bat”以在Windows启动时自动运行,如果程序调用者需要的话。我忘了在txt上保存输出并在标准输出上显示,prova.bat如何将输出重定向到ping.txt?感谢

@echo off
(
    echo @echo off
    echo rem Test della perdita di pacchetti verso %addr% 
    echo set data=20%%date:~6,4%%_%%date:~3,2%%_%%date:~0,2%%
    echo set ora=%%time:~0,2%%
    echo set name=ping.txt
  

echo %% data %% - %%时间:~0.5 %% ^>> C:\ TEMP \%名称%

    echo @echo on 
  

echo ping -t%addr%^>> C:\ TEMP \%名称%

    echo @exit /b
) > c:\temp\ping.bat

1 个答案:

答案 0 :(得分:2)

这应该创建你的文件,但你的代码不起作用!

@echo off
(
    echo @echo off
    echo rem Test della perdita di pacchetti verso un indirizzo 
    echo set data=20%%date:~6,4%%_%%date:~3,2%%_%%date:~0,2%%
    echo set ora=%%time:~0,2%%
    echo set filename=ping-%%data%%.txt
    echo ping -t %addr% ^>^> c:\temp\%%filename%%
) > c:\temp\ping.bat

您将批处理文件命名为ping.bat,然后尝试拨打ping -t %addr% 这将以无限循环结束。

顺便说一下。为什么不使用简单的批处理函数呢?

@echo off
set addr=10.0.0.1
call :ping %addr%
exit /b

:ping
set "data=20%date:~6,4%_%date:~3,2%_%date:~0,2%"
set "ora=%time:~0,2%"
set "name=ping-%data%"
ping -t %1
exit /b