中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 15:02
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 为何这一P处理不能在NT4.0上运行
可打印版本  2,206 / 20
第16楼 qzwqzw 发表于 2007-06-28 17:12
银牌会员 发帖 636 积分 2,343
在代码中加一些的调试语句
就可以确定问题的出处了

比如,在for内部插入一行
echo %%i & pause

在 findstr 后插入
echo !errorlevel! & pause

这些是基本的调试技巧

---------------------------------------

印象中!errorlevel!的用法是有问题的
不过还是先看看你的调试结果再说

findstr /b /r "\<TP\>" "%%i" && copy "%%i" C:\123\"%%i"&&del /q /f "%%i"
第17楼 joshualaw 发表于 2007-06-29 16:03
初级用户 发帖 62 积分 132
Originally posted by qzwqzw at 2007-6-28 05:12 PM:
在代码中加一些的调试语句
就可以确定问题的出处了

比如,在for内部插入一行
echo %%i & pause

在 findstr 后插入echo !errorlevel! & pause

这些是 ...


在NT 4.0 上,我用了下列环境变量,但说环境变量无效,和没有errorlevel代吗返回,如下图.

@echo off&setlocal enabledelayedexpansion ENABLEEXTENSIONS

[ Last edited by joshualaw on 2007-6-29 at 04:05 PM ]

附件
errorlevel.jpg (9.84 KiB)
第18楼 wudixin96 发表于 2007-06-29 16:10
银牌会员 发帖 931 积分 1,928
把@echo off注释掉。

然后把P拖到cmd中运行。就可以发现是哪里出错了。
第19楼 HAT 发表于 2007-06-29 16:23
版主 发帖 5,017 积分 9,023
//在NT 4.0 上,我用了下列环境变量,但说环境变量无效,和没有errorlevel代吗返回

NT 4.0好像没有errorlevel吧,记得willsort斑竹似乎说过
第20楼 qzwqzw 发表于 2007-06-29 18:51
银牌会员 发帖 636 积分 2,343
errorlevel变量属于命令扩展的内容
NT4应该是支持的

从你的错误来看
可能setlocal的用法有问题

将它拆成两句
setlocal ENABLEDELAYEDEXPANSION
setlocal ENABLEEXTENSIONS

如果还不行,就help setlocal看一下setlocal的参数
第21楼 joshualaw 发表于 2007-07-04 00:16
初级用户 发帖 62 积分 132
谢谢各位,问题已解决啦
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023