我正在尝试编写一个批处理脚本,并尝试在两个函数调用之间等待10秒.命令:
sleep 10
Run Code Online (Sandbox Code Playgroud)
不使批处理文件等待10秒.
我正在运行Windows XP.
当编写批处理文件以在Windows机器上自动执行某些操作时,我需要暂停执行几秒钟(通常在测试/等待循环中,等待进程启动).当时,我能找到的最佳解决方案是使用ping(我不是你的孩子)来达到预期的效果.我发现它的一个更好的写了这里,它描述了一个可调用"wait.bat",实现如下:
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul
Run Code Online (Sandbox Code Playgroud)
然后,您可以在自己的批处理文件中包含对wait.bat的调用,并传入要休眠的秒数.
显然,Windows 2003资源工具包提供类似Unix的睡眠命令(最后!).与此同时,对于我们这些仍在使用Windows XP,Windows 2000或(可悲的)Windows NT的人来说,还有更好的方法吗?
我sleep.py在接受的答案中修改了脚本,因此如果在命令行上没有传递参数,则默认为1秒:
import time, sys
time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)
Run Code Online (Sandbox Code Playgroud) 在Bash中,#用于评论以下内容.如何在Windows命令行上发表评论?
我试图从网络共享运行批处理文件,但我不断收到以下消息:"不支持UNC路径.默认为Windows目录." 批处理文件位于\\Server\Soft\WPX5\install.bat.以管理员身份登录后,从我的Windows 7桌面导航到\\Server\Soft\WP15\双击install.bat,即当我得到"不支持UNC路径"时.信息.我在网上发现了一些建议说映射驱动器不起作用,但使用符号链接将解决这个问题,但符号链接对我不起作用.以下是我的批处理文件内容,我将不胜感激,可以帮助我完成我想要做的任何帮助.基本上,我希望能够从中运行批处理文件\\Server\Soft\WP15\install.bat.
批处理文件内容
mklink /d %userprofile%\Desktop\WP15 \\server\soft\WP15
\\server\soft\WP15\setup.exe
robocopy.exe "\\server\soft\WP15\Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s \\server\soft\WPX5\Custom\Migrate.reg
Run Code Online (Sandbox Code Playgroud)
另外,如何在安装完成后删除符号链接?
如何在批处理文件中执行另一个进程之前等待进程终止?假设我有一个notepad.exe我需要在执行之前杀死的进程wordpad.exe.然后,当wordpad.exe终止时,我需要notepad.exe再次启动.我怎么做?
我需要在ORACLE中执行SQL查询需要一定的时间.所以我写了这个函数:
CREATE OR REPLACE FUNCTION MYSCHEMA.TEST_SLEEP
(
TIME_ IN NUMBER
)
RETURN INTEGER IS
BEGIN
DBMS_LOCK.sleep(seconds => TIME_);
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RAISE;
RETURN 1;
END TEST_SLEEP;
Run Code Online (Sandbox Code Playgroud)
我以这种方式打电话
SELECT TEST_SLEEP(10.5) FROM DUAL
Run Code Online (Sandbox Code Playgroud)
但要工作,我需要设置授予DBMS_LOCK程序的所有者.
如何在不使用该功能的情况下重写此DBMS_LOCK.sleep功能?
这是我想用Jenkins启动的代码:
start cmd.exe /k "node "C:\Program Files\Appium\node_modules\appium\bin\appium.js" -a 127.0.0.1 -p 4723"
ping 127.0.0.1 -n 30 > nul
C:\path\NUnit-2.6.4\NUnit-2.6.4\bin\nunit-console.exe C:\path\NUnit-2.6.4\NUnit-2.6.4\bin\apk\UnitTestProject1.dll
Run Code Online (Sandbox Code Playgroud)
这是我每次尝试暂停时得到的错误:
"ERROR: Input redirection is not supported, exiting the process immediately."
Run Code Online (Sandbox Code Playgroud)
与timeout /T 60和相同的错误sleep 60
根据这篇文章,超时在非交互式脚本中不起作用.
如何在我的情况下添加暂停?
编辑Will Ryan:
我试试这个:
构建工作,但测试持续时间只有0.5秒,暂停没有做任何事情
控制台输出是:
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>echo "--"
"--"
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>PING 1.1.1.1 -n 1 -w 30000 1>NUL
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>echo "++"
"++"
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>exit 0
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud) 我有4个批处理文件.我想运行one.bat,并two.bat在一次,兼任.这两个批处理文件完成后,three.bat并four.bat应同时运行,在并行.我试过很多方法,但mot工作得很好.
任何人都可以帮助我吗?
可能重复:
在DOS批处理文件中休眠
如何在批处理脚本中等待
我有一个用批处理文件启动的程序.
第一个模块需要10秒左右的时间进行初始化,我希望在调用第二个模块之前"睡眠"15秒,但我不希望它要求用户按下像"暂停"一样的键似乎要求.
所以,这就是我的意思:
echo %PATH%
pause 10
echo %PATH%
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我希望在回声之间有10秒钟.这可能吗?我见过一些使用"ping 1.1.1.1"的例子,但它似乎并不能正常工作.
我有一个部署Web应用程序的MSBuild脚本.它通过将"app_offline.htm"文件复制到服务器来停止当前的Web应用程序.在此之后,它删除其他文件,然后将新文件复制到服务器.
我需要在复制'app_offline.htm'和删除之间添加延迟.
当脚本尝试删除文件时,我的当前脚本会抛出错误,因为文件仍然处于锁定状态.
在MSBuild中执行此操作的最佳方法是什么?
我的停止任务看起来像这样......
<Target Name="Stop">
<WriteLinesToFile File="$(DeployDirectory)\app_offline.htm" Lines="Offline for maintenance" Overwrite="true" Encoding="Unicode"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
我的删除任务看起来像这样......
<Target Name="Clean">
<ItemGroup>
<Files Include="$(DeployDirectory)\**\*" Exclude="$(DeployDirectory)\app_offline.htm" />
<Files Include="$(LogDirectory)\*" />
</ItemGroup>
<Delete Files="@(Files)" />
</Target>
Run Code Online (Sandbox Code Playgroud)