中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 20:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮我看一下这两个有什么不同! 查看 732 回复 8
楼 主 帮我看一下这两个有什么不同! 发表于 2007-03-29 04:11 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
FOR /F %%A IN (5.TXT) DO ECHO %%A >> 4.TXT

如果 5.TXT中为
1
12
123
1234
54321
543
5432
命令成功

若5.TXT中为
ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath
命令不成功

为什么?

这两个有区别吗?
2 发表于 2007-03-29 04:16 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
结果有什么区别呢?

可能只需要在for里面加上一个参数,倒好:for /f "tokens=*"...
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2007-03-29 04:21 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
看不出哪里不成功
4 发表于 2007-03-29 04:25 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
如果5.TXT中为

ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath

则在我这没形成 4.TXT



如果5.TXT为
1
12
123
1234
54321
543
5432

则形成 4.TXT

[ Last edited by hy433124shc on 2007-3-28 at 03:28 PM ]
5 发表于 2007-03-29 05:27 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
3楼对我说 ‘你5.txt保存的编码可能不是ANSI。"

于是
我把以5.TXT内容为
ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath

的内容COPY 到 6.TXT
用FOR /F %%A IN (6.TXT) DO ECHO %%A >> 4.TXT
使命令成功,形成4.TXT

再用
FOR /F %%A IN (5.TXT) DO ECHO %%A >> 4.TXT
命令还是不成功,没形成4.TXT


怪了!!!
难到问题出在这个5.TXT上?

[ Last edited by hy433124shc on 2007-3-28 at 05:13 PM ]
6 发表于 2007-03-29 05:34 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
看不出有什么问题:


G:\work\dos\batch>type 5.txt
ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath

G:\work\dos\batch>for /f %i in (5.txt) do @echo %i >> 4.txt

G:\work\dos\batch>type 4.txt
ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
7 发表于 2007-03-29 05:53 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
回6楼

3楼对我说 ‘你5.txt保存的编码可能不是ANSI。"

内容为
ExecutablePath
C:\WINDOWS\system32\svchost.exe
ExecutablePath

是一BAT中的
WMIC PROCESS WHERE(PROCESSID="%3") GET executablepath >> 5.TXT 形成的,
而内容为
1
12
123
1234
是我用记事本做的,

我试了,就是不行!
3楼说了之后,我就像5楼那样试了!
8 发表于 2007-03-29 06:08 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
5.TXT内容是一BAT中的
WMIC PROCESS WHERE(PROCESSID="%3" ) GET executablepath >>5.TXT
形成的

而内容为
1
12
123
是我用记事本做的,

是在同一台机器中做的!

请问一下,我想把 WMIC PROCESS WHERE(PROCESSID="%3" ) GET executablepath 的结果传给 A

如下为什么不行,
SET A=<WMIC PROCESS WHERE(PROCESSID="%3" ) GET executablepath

给我个方法,最好能去掉 ExecutablePath
得到 A= C:\WINDOWS\system32\svchost.exe 之类的

谢谢了!!!

[ Last edited by hy433124shc on 2007-4-1 at 03:38 PM ]
9 发表于 2007-03-29 22:28 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
for /f "usebackq tokens=* skip=1" %%i in (`WMIC PROCESS WHERE PROCESSID^=%3 GET executablepath`) do set A=%%i

试试上面这个命令。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: