中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-25 15:40
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 为何这一P处理不能在NT4.0上运行
可打印版本  2,213 / 20
第1楼 joshualaw 发表于 2007-06-27 11:06
初级用户 发帖 62 积分 132
为何这一P处理不能在NT4.0上运行
各位高手:
请帮忙看看为何这一P处理不能在NT4.0上运行,但可在WIN2K 和XP 上运行,请帮忙修改下, 谢

for /f "delims=" %%i in ('dir /b *.txt') do (
findstr /b /r "\<TP\>" "%%i"
if !errorlevel!==0 copy "%%i" C:\123\"%%i"&del /q /f "%%i"
)

[ Last edited by joshualaw on 2007-6-27 at 11:07 AM ]
第2楼 zasxcdfv 发表于 2007-06-27 11:13
初级用户 发帖 75 积分 152
没有nt4.0系统
一般来说都会给错误提示的吧?
第3楼 HAT 发表于 2007-06-27 11:43
版主 发帖 5,017 积分 9,023
没有nt4.0系统
是否需要把"delims="改为"delims= "
第4楼 joshualaw 发表于 2007-06-27 11:56
初级用户 发帖 62 积分 132
Originally posted by HAT at 2007-6-27 11:43 AM:
没有nt4.0系统
是否需要把"delims="改为"delims= "

请看看我在C:\VER 的两个图片:

[ Last edited by joshualaw on 2007-6-27 at 11:59 AM ]

附件
nt.jpg (9.06 KiB)
xp.jpg (7.65 KiB)
第5楼 zasxcdfv 发表于 2007-06-27 12:27
初级用户 发帖 75 积分 152
Originally posted by joshualaw at 2007-6-27 11:56 AM:

请看看我在C:\VER 的两个图片:

[ Last edited by joshualaw on 2007-6-27 at 11:59 AM ]

???
第6楼 joshualaw 发表于 2007-06-27 13:14
初级用户 发帖 62 积分 132
Originally posted by zasxcdfv at 2007-6-27 12:27 PM:

???


这两个图片是告知大家两个不同的操作系统和版本,

1》在Windows NT 4.0 上不能运行,也没有错误信息返回,(只能从结果知道,这一功能不能实现)

2》Windows XP 可实现这一功能
第7楼 zh159 发表于 2007-06-27 13:15
金牌会员 发帖 1,467 积分 3,687
NT4.0很老了,NT4.0的for不知道有没有这些参数

贴上for /?的参数看看
第8楼 lasting 发表于 2007-06-27 13:40
初级用户 发帖 24 积分 52
在批处理的结尾加 PAUSE 看清楚不能运行还是没有此命令。
第9楼 HAT 发表于 2007-06-27 14:04
版主 发帖 5,017 积分 9,023
2楼和3楼的意思是:
他们没有安装nt4.0系统,而不是说nt4.0系统不存在^_^

如 zh159 兄所说,贴上for /?的帮助信息看看
第10楼 qzwqzw 发表于 2007-06-27 14:29
银牌会员 发帖 636 积分 2,343
印象中nt4缺省不开启命令扩展

使用SETLOCAL ENABLEEXTENSIONS开启
第11楼 joshualaw 发表于 2007-06-27 15:17
初级用户 发帖 62 积分 132
Originally posted by qzwqzw at 2007-6-27 02:29 PM:
印象中nt4缺省不开启命令扩展

使用SETLOCAL ENABLEEXTENSIONS开启


在P处理开头,我使用下列命令,请看看是否对错.
@echo off&setlocal enabledelayedexpansion

也付上NT4.0 help file for your ref.

附件
NT for help.txt (6.32 KiB)
第12楼 zh159 发表于 2007-06-27 16:46
金牌会员 发帖 1,467 积分 3,687
没NT4.0测试,但首先要修正一个地方:
if !errorlevel!==0 copy "%%i" C:\123\"%%i"&del /q /f "%%i"
这里一个“&”会造成“copy”、“del”两个命令同时运行,有可能会出错,改为:
if !errorlevel!==0 copy "%%i" C:\123\"%%i"&&del /q /f "%%i"
这样会等待“copy”命令完成后再执行“del”命令
第13楼 joshualaw 发表于 2007-06-28 10:57
初级用户 发帖 62 积分 132
我多加了一个&,但还是不行啊. 所有的文件全部copy 到了C:\456\下面,请帮忙看看啊

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b *.txt') do (
findstr /b /r "\<TP\>" "%%i"
if !errorlevel!==0 copy "%%i" C:\123\"%%i"&&del /q /f "%%i"
)
copy *.txt C:\456\*.txt
del /q /f *.txt
第14楼 qzwqzw 发表于 2007-06-28 11:45
银牌会员 发帖 636 积分 2,343
@echo off&setlocal enabledelayedexpansion

改成

@echo off&setlocal enabledelayedexpansion ENABLEEXTENSIONS
第15楼 joshualaw 发表于 2007-06-28 15:16
初级用户 发帖 62 积分 132
Originally posted by qzwqzw at 2007-6-28 11:45 AM:
@echo off&setlocal enabledelayedexpansion

改成

@echo off&setlocal enabledelayedexpansion ENABLEEXTENSIONS


还是不行哦,现象还是一样,好象下列语句起不了作用啊.

for /f "delims=" %%i in ('dir /b *.txt') do (
findstr /b /r "\<TP\>" "%%i"
if !errorlevel!==0 copy "%%i" C:\123\"%%i"&&del /q /f "%%i"
)
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023