Batch file CMD:Echo';换一个新的。蝙蝠坏了吗?
我有一个.cmd文件,它创建一个.bat文件,当调用该文件时,通过Batch file CMD:Echo';换一个新的。蝙蝠坏了吗?,batch-file,cmd,timeout,echo,ping,Batch File,Cmd,Timeout,Echo,Ping,我有一个.cmd文件,它创建一个.bat文件,当调用该文件时,通过ping提供500毫秒的延迟。我的代码是: @echo off && SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION (" echo @echo off echo ping 1.1.1.1 -n 1 -w 500 echo exit /b ")>C:\...\timeout.bat pause>NUL ENDLOCAL 但是,timeou
ping
提供500毫秒的延迟。我的代码是:
@echo off && SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
("
echo @echo off
echo ping 1.1.1.1 -n 1 -w 500
echo exit /b
")>C:\...\timeout.bat
pause>NUL
ENDLOCAL
但是,timeout.bat的唯一输出是
@echo off
exit /b
有人知道为什么它不能识别
ping
命令吗?我的语法不正确吗?如果您将脚本更改为此,而不是更改您的原始意图,会发生什么情况
@Echo关闭
(Echo=@Echo关闭
回波=Ping-n127.0.0.1-w500
Echo=Exit/B)>“C:\NotSecretDir\time\u out.bat”
超时-1>Nul
我建议,调用批处理文件(然后调用ping命令并返回到原始进程)所需的时间实际上要比预期的半秒长。出于这个原因,我建议您不要麻烦,只使用
@Timeout 1 1>Nul
如果您将脚本更改为该脚本,而不是更改您的原始意图,会发生什么
@Echo关闭
(Echo=@Echo关闭
回波=Ping-n127.0.0.1-w500
Echo=Exit/B)>“C:\NotSecretDir\time\u out.bat”
超时-1>Nul
我建议,调用批处理文件(然后调用ping命令并返回到原始进程)所需的时间实际上要比预期的半秒长。出于这个原因,我建议您不要麻烦,只使用
@Timeout 1 1>Nul
您的批处理文件不会将任何行写入Timeout.bat,因为您的语法是错误的
(“
将产生错误,批处理的其余部分将不会执行。批处理文件不会将任何行写入timeout.bat,因为语法错误
(“
将产生错误,批处理的其余部分将不会执行。什么是C:\…\timeout.bat
呢?我从来没有在路径中看到过3个点。这是一个打字错误吗?我用一个简单的timeout.bat
替换了它。执行你发布的代码甚至没有创建文件。它给我一个0是在这个时候意外的我。
错误。删除双引号帮了我的忙。但我仍然对…
的功能感到困惑。C:\…`只是一个占位符。我这边有实际的完整路径。C:\…\timeout.bat
的功能是什么?我从来没有在一条路径上看到过3个点。这是打字错误吗?我用一个简单的timeout.bat在我这边。执行你发布的代码甚至没有创建一个文件。它给了我一个0,这在当时是出乎意料的。
错误。删除双引号帮了我的忙。但我仍然对…
它做什么感到困惑。“C:\…”只是一个占位符。我这边有实际的完整路径。这是我昨天做的是的,只要我需要,就用一行简单的Timeout 2>Nul/Nobreak
。但是今天早上,代码现在返回错误,无法识别为内部或外部命令、可操作程序或批处理文件
,我被迫找到另一种解决方案。更新:我重新启动了计算机,现在@Timeout是functi再次发出警告。仍然不知道是什么原因导致了错误。这只是.bat的创建者需要被击中头部的另一个原因…再次更新:@timeout再次停止运行,但是这次没有显示错误消息。即使在空白的.bat文件中,也不会出现等待X秒的
。按任何键都不会使文件前进,并且我必须e还没有看到超时实际完成。它只是保持空白。建议,因为超时是一个命令,所以不要将批处理文件命名为timeout.bat或timeout.cmd,pause.bat或任何其他标准命令名也可以这样说。我已经相应地更新了答案。这是我昨天得到的答案,只需要一行简单的timeout 2>Nul/Nobreak。但是,今天早上,代码现在返回的错误是无法识别为内部或外部命令、可操作程序或批处理文件,我被迫找到替代解决方案。更新:我重新启动了计算机,现在@timeout再次运行。仍然不知道是什么原因导致了错误。只是另一个原因是.bat的创建者需要被击中头部…再次更新:@timeout再次停止运行,但是这次没有显示错误消息。即使在空白的.bat文件中,也不会出现等待X秒的。按任意键都不会推进文件,我还没有看到超时真正完成。它只是保持blank.Advice,因为timeout是一个命令,所以不要将批处理文件命名为timeout.bat或timeout.cmd,pause.bat或任何其他标准命令名也是如此。我已经相应地更新了答案。