中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 为何这一P处理不能在NT4.0上运行
« [1] [2] »
作者:
标题: 为何这一P处理不能在NT4.0上运行 上一主题 | 下一主题
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『楼 主』:  为何这一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 ]

2007-6-27 11:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 2 楼』:  

没有nt4.0系统
一般来说都会给错误提示的吧?

2007-6-27 11:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

没有nt4.0系统
是否需要把"delims="改为"delims= "

2007-6-27 11:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 4 楼』:  



  Quote:
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 ]

附件 1: nt.jpg (2007-6-27 11:58, 9.06 K,下载次数: 2)


附件 2: xp.jpg (2007-6-27 11:59, 7.65 K,下载次数: 1)


2007-6-27 11:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 5 楼』:  



  Quote:
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 ]

???

2007-6-27 12:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by zasxcdfv at 2007-6-27 12:27 PM:

???

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

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

2》Windows XP 可实现这一功能

2007-6-27 13:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  

NT4.0很老了,NT4.0的for不知道有没有这些参数

贴上for /?的参数看看



2007-6-27 13:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lasting
初级用户





积分 52
发帖 24
注册 2007-5-9
状态 离线
『第 8 楼』:  

在批处理的结尾加 PAUSE  看清楚不能运行还是没有此命令。

2007-6-27 13:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  

2楼和3楼的意思是:
他们没有安装nt4.0系统,而不是说nt4.0系统不存在^_^

如 zh159 兄所说,贴上for /?的帮助信息看看

2007-6-27 14:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 10 楼』:  

印象中nt4缺省不开启命令扩展

使用SETLOCAL ENABLEEXTENSIONS开启

2007-6-27 14:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 11 楼』:  



  Quote:
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.

附件 1: NT for help.txt (2007-6-27 15:17, 6.32 K,下载次数: 14)
2007-6-27 15:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 12 楼』:  

没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”命令



2007-6-27 16:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 13 楼』:  

我多加了一个&,但还是不行啊. 所有的文件全部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

2007-6-28 10:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 14 楼』:  

@echo off&setlocal enabledelayedexpansion

改成

@echo off&setlocal enabledelayedexpansion ENABLEEXTENSIONS

2007-6-28 11:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
joshualaw
初级用户





积分 132
发帖 62
注册 2007-6-5
状态 离线
『第 15 楼』:  



  Quote:
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"
)

2007-6-28 15:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: