Tag: batch file

如何在批处理脚本中等待?

可能重复: 睡在一个DOSbatch file 我正在尝试编写批处理脚本,并试图在2个函数调用之间等待10秒。 命令: sleep 10 不要使batch file等待10秒钟。 我正在运行Windows XP。 注意:这不是一个batch fileSleeping的完整重复,因为另一个问题也是关于Python,而这是关于Windowsbatch file。

在batch file中执行子string的最佳方法是什么?

我想获得当前正在运行的batch file的名称, 而没有文件扩展名。 由于这个链接 ,我有扩展名的文件名…但在batch file中做一个子string的最佳方法是什么? 还是有另一种方式来获得文件名W / O扩展名? 在这种情况下假设3个字母的扩展是安全的。

为什么这个带有多个文字searchstring的FINDSTR例子找不到匹配?

以下FINDSTR示例未能find匹配项。 echo ffffaaa|findstr /l "ffffaaa faffaffddd" 为什么?

设置语句似乎不能在我的batch file中工作

我发现这里似乎是我的问题的解释 DOS批处理:为什么我的设置命令导致没有得到存储? 但是我不太了解这个解释。 这是我的脚本… for /R /d %%f in (\Product\Database\SQL\Project\Model\Scripts\*) DO ( REM echo %%f SET !LOAD_FILE_FILTER= %%f\*.sql echo file: %!LOAD_FILE_FILTER% CALL %!BATCH_FILE% -u %!USER_NAME% -p %!PASSWORD% -s %!SERVER_NAME% -d %!DATABASE_NAME% -f %!LOAD_FILE_FILTER% -o %!LOG_FILE% IF %!EchoErrors%==1 ( ECHO [ TYPE %!LOG_FILE% ECHO ] ) ) 回声总是打印文件:* .sql和脚本我传递这个variables总是抱怨LOAD_FILE_FILTER是空的。 我曾尝试添加文章中build议的setlocal EnableDelayedExpansion但它不能解决问题。 echo file: %!LOAD_FILE_FILTER%总是打印我运行的目录中的最后一个子目录。 echo %%f总是打印正确的值。 […]

Windows Bat文件可选参数parsing

我需要我的bat文件来接受多个可选的命名参数。 mycmd.bat man1 man2 -username alice -otheroption 例如,我的命令有两个必须的参数和两个可选参数(-username),它们的参数值为alice,并且–otheroption: 我希望能够将这些值抽取到variables中。 只是打电话给任何已经解决了这个问题的人。 这些蝙蝠文件是一个痛苦的人。

在Windows Vista批处理(.bat)文件中,长命令分成多行

如何在Windows(Vista)batch file中使长命令遍历多行?

睡在batch file中

当编写一个batch file在Windows上自动化某些东西时,我需要暂停执行几秒钟(通常在一个testing/等待循环中,等待一个进程启动)。 当时,我能find的最好的解决scheme使用ping(我不要你)来达到预期的效果。 我在这里发现了一个更好的写法,它描述了一个可调用的“wait.bat”,实现如下: @ping 127.0.0.1 -n 2 -w 1000 > nul @ping 127.0.0.1 -n %1% -w 1000> nul 然后,您可以在自己的batch file中包含对wait.bat的调用,传入睡眠秒数。 显然,Windows 2003资源工具包提供了类似Unix的睡眠命令 (最后!)。 与此同时,对于我们这些仍在使用Windows XP,Windows 2000或(可惜) Windows NT的人来说 ,还有更好的方法吗? 我在接受的答案中修改了sleep.py脚本,如果在命令行中没有parameter passing,它将默认为一秒。 import time, sys time.sleep(float(sys.argv[1]) if len(sys.argv) > 1 else 1)

你怎么能在batch file中回显换行符?

你怎么能从你的batch file输出插入一个换行符? 我想做一些事情: > echo hello\nworld 哪个会输出: 你好 世界

“…”是什么原因不被识别为内部或外部命令,可操作程序或batch file?

我有一个在命令行中完美工作的单行代码片段,但是当我将它作为批处理脚本的一部分运行时会失败并引发错误。 下面的命令按预期行为,删除文件夹中的所有空子文件夹。 for /f "delims=" %d in ('dir /s /b /ad ^| sort /r') do rd "%d" 然而,当把这样的batch file… FOR /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d" 它会抛出标准错误: Sort is not recognised as an internal or external command… 我一直在做最后一个小时左右的试验,有没有逃脱pipe道,改变选项的顺序,查找dir和dir的文件等,但我仍然无法弄清楚是什么去这里 batch file的其余部分,只有几行,工作正常,这是唯一的行失败。 谁能帮忙? 在此先感谢,我真的很感激。

如何获得batch file中的string长度?

似乎没有一种简单的方法来获取batch file中string的长度。 例如, SET MY_STRING=abcdefg SET /A MY_STRING_LEN=??? 我如何findMY_STRING的string长度? 如果string长度函数处理包括转义字符的string中的所有可能字符,则为加分: !%^^()^! 。