批处理:如何使用转义特殊字符的批处理创建 .bat
Batch: how create .bat with a batch escaping special chars
为什么不起作用?
我想通过批处理文件创建一个.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%% - %%Time:~0,5%% ^>> c:\temp\%name%
echo @echo on
echo ping -t %addr% ^>> c:\temp\%name%
echo @exit /b
) > c:\temp\ping.bat
这应该会创建您的文件,但您的代码将无法运行!
@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%%
<strong>echo set filename=ping-%%data%%.txt</strong>
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
为什么不起作用? 我想通过批处理文件创建一个.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%% - %%Time:~0,5%% ^>> c:\temp\%name%
echo @echo on
echo ping -t %addr% ^>> c:\temp\%name%
echo @exit /b
) > c:\temp\ping.bat
这应该会创建您的文件,但您的代码将无法运行!
@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%%
<strong>echo set filename=ping-%%data%%.txt</strong>
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