Board logo

标题: [其他] 【已结】执行pause之后为什么不暂停而直接关闭窗口 [打印本页]

作者: qq779089973    时间: 2008-10-20 19:52     标题: 【已结】执行pause之后为什么不暂停而直接关闭窗口

执行一个bat命令 明明有还有好几个pause 但是没执行就直接关闭了窗口
以下是代码
@echo off
if not exist d:\1 md d:\1
set tem=d:\1
(
echo Private Const BITS_TO_A_BYTE = 8
echo Private Const BYTES_TO_A_WORD = 4
echo Private Const BITS_TO_A_WORD = 32

echo Private m_lOnBits^(30^)
echo Private m_l2Power^(30^)

echo Private Function LShift^(lValue, iShiftBits^)
echo    If iShiftBits = 0 Then
echo    If iShiftBits = 0 Then
echo        LShift = lValue
echo        Exit Function
echo    ElseIf iShiftBits = 31 Then
echo        If lValue And 1 Then
echo            LShift = ^&H80000000
echo        Else
echo            LShift = 0
echo        End If
echo        Exit Function
echo    ElseIf iShiftBits <  >
echo        Err.Raise 6
echo    End If
)>"%tem%\qqhash加密.txt"
pause
start tem%\qqhash加密.txt
pause
作者: pusofalse    时间: 2008-10-20 19:58

应该是编码问题,改为ansi试下。
作者: Batcher    时间: 2008-10-20 20:12

还可能是pause前面的命令出错,导致批处理退出了。
作者: qq779089973    时间: 2008-10-20 20:13

不是编码的问题
作者: qq779089973    时间: 2008-10-20 20:15     标题: 回复 3楼 的帖子

这段代码有问题吗
@echo off
if not exist d:\1 md d:\1
set tem=d:\1
(
echo Private Const BITS_TO_A_BYTE = 8
echo Private Const BYTES_TO_A_WORD = 4
echo Private Const BITS_TO_A_WORD = 32

echo Private m_lOnBits^(30^)
echo Private m_l2Power^(30^)

echo Private Function LShift^(lValue, iShiftBits^)
echo    If iShiftBits = 0 Then
echo    If iShiftBits = 0 Then
echo        LShift = lValue
echo        Exit Function
echo    ElseIf iShiftBits = 31 Then
echo        If lValue And 1 Then
echo            LShift = ^&H80000000
echo        Else
echo            LShift = 0
echo        End If
echo        Exit Function
echo    ElseIf iShiftBits <  >
echo        Err.Raise 6
echo    End If
)>"%tem%\qqhash加密.txt"
pause
start tem%\qqhash加密.txt
pause
作者: pusofalse    时间: 2008-10-20 21:52

echo elseif ishitbits ^< ^>
。。。
在每个特殊符号前加^
作者: qq779089973    时间: 2008-10-21 01:10     标题: 回复 6楼 的帖子

确实是里面的代码写错了 才导致退出的
作者: Cameron    时间: 2008-10-21 21:37

遇到这样的情况在cmd窗口中输入批处理的名字就一目了然了,去掉批处理文件中的@echo off效果更好。

[ 本帖最后由 Cameron 于 2008-10-21 21:39 编辑 ]
作者: steven007    时间: 2009-1-12 14:18

显示字符<  >时要在前面加上转义字符^才能正常显示的。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2