减缓批处理文件以读取错误

时间:2011-10-22 21:14:37

标签: batch-file

对于批处理,如果出现错误,您看到的最多是文本闪烁,然后程序结束。反正有没有放慢速度?或者在碰到错误时关闭它?

由于

8 个答案:

答案 0 :(得分:14)

如果在MS-DOS窗口中从命令行执行批处理文件并发生错误,则只需查看窗口中的文本即可查看发生的情况。

另一方面,如果您通过在资源管理器中双击执行批处理文件,则批处理文件出现错误时,您将看不到任何内容。这是你的情况吗?如果是这样,最简单的解决方案是在MS-DOS窗口中测试批处理文件,直到它正常工作。

但是,如果在批处理文件结束时仍需要一种方法来停止关闭DOS窗口,则可以这样做:

  • 右键单击批处理文件,然后选择创建短片,创建一个Shorcut。
  • 右键单击快捷方式,然后选择属性
  • 在Target中,在“C:\ Path \ filename.bat”字符串之后添加:& PAUSE
  • 选择确定

这样,当您通过双击执行快捷方式时,DOS窗口将在批处理文件因任何原因结束后执行暂停。

答案 1 :(得分:4)

使用>重定向输出将其捕获到文件中。

您可能需要:命令> file 2>& 1

答案 2 :(得分:3)

从当前CMD.exe运行脚本,并将“exit / b 1”添加到脚本文件末尾。删除任何简单的“退出”。

答案 3 :(得分:3)

打开一个新的cmd窗口并在那里执行命令。发生错误时,新打开的窗口不会关闭。

start cmd /k [command]

这适用于我的基本命令。不确定它对更高级的东西是否有用。

答案 4 :(得分:3)

试试这个:

if NOT ["%errorlevel%"]==["0"] (
    pause
    exit /b %errorlevel%
)

答案 5 :(得分:2)

要在批处理脚本结束之前停止它,请将pause命令放在一个新行上,这将使脚本在继续(或关闭)之前等待用户输入(如输入键)。

答案 6 :(得分:0)

第二次

grep("DAG36|G379", x)
# [1] 4 5 

grepl("DAG36|G379", x)
# [1] FALSE FALSE FALSE TRUE TRUE

或10secs

x[ grepl("DAG36|G379", x) ] <- 0

x <- x[ grepl("DAG36|G379", x) ]                    # Easier version of removing relevant strings
x <- grep("DAG36|G379", x, invert = T, value = T)   # More direct version 

答案 7 :(得分:0)

这对我有用。与@ Sri7的答案类似,但您需要使用方括号和引号:

if NOT ERRORLEVEL 0 (
   pause
)