中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-04 15:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 记事本的查找问题 查看 1,944 回复 22
16 发表于 2008-08-25 00:38 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
你是怎么改的?代码贴出来
17 发表于 2008-08-25 01:59 ·  中国 江苏 苏州 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
17年会员
UID 122532
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /tc /o-d /a *.txt') do (
set NewFile=%%a
goto :next
)
:next
for /f "usebackq delims=" %%i in ("%NewFile%") do (
for %%j in (%%i) do (
set str=%%j
if "!str:~,1!"=="5" (
set/a n+=1
if !n! equ 1 echo %%j 这2行能不能显示在同一行上
if !n! equ 3 echo %%j&pause&exit 这2行能不能显示在同一行上
do mshta vbscript:createobject("wscript.shell").popup(" %ScdLine:~1,-1% %%j ")
)
)
)
18 发表于 2008-08-25 18:36 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
17年会员
UID 122532
性别 男
状态 离线
有人可否回答一下,。新手都没人指点吗
19 发表于 2008-08-25 19:35 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
这样可以吗?

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /tc /o-d /a *.txt') do (
set NewFile=%%a
goto :next
)
:next
set str=
for /f "usebackq delims=" %%i in ("%NewFile%") do (
for %%j in (%%i) do (
set str=%%j
if "!str:~,1!"=="5" (
set/a n+=1
if !n! equ 1 set str=!str!%%j
if !n! equ 3 set str=!str!&goto :end
)
)
)
goto :eof
:end
mshta vbscript:createobject("wscript.shell").popup(" %ScdLine:~1,-1% !str! ")

不知道你的%ScdLine:~1,-1%从哪里来的,只好跟着你乱写了。

[ Last edited by HAT on 2008-8-26 at 12:35 AM ]
20 发表于 2008-08-26 00:13 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
17年会员
UID 122532
性别 男
状态 离线
HAT大哥的代码多了一个DO,。呵呵,已经改好了,不过
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /tc /o-d /a *.txt') do (
set NewFile=%%a
goto :next
)
:next
set str=
for /f "usebackq delims=" %%i in ("%NewFile%") do (
for %%j in (%%i) do (
set str=%%j
if "!str:~,1!"=="5" (
set/a n+=1
if !n! equ 1 set str=!str!%%j
if !n! equ 3 set str=!str!&goto :end
)
)
)
goto :eof
:end
mshta vbscript:createobject("wscript.shell").popup(" !str! !str! ")
这样只能显示一个,上面的1和3能不能同时显示在popup(" !str! !str! ") 不过这样做不成功,。希望大哥再帮忙修改一下,
21 发表于 2008-08-26 00:35 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
为什么多了一个do呢?因为19楼的代码是从17楼拷贝的。
19楼已经更新,运行一下,结果贴出来看看。
22 发表于 2008-08-26 00:40 ·  中国 江苏 苏州 太仓市 电信
中级用户
★★
积分 209
发帖 100
注册 2008-08-01 02:53
17年会员
UID 122532
性别 男
状态 离线
是更新了,。但20楼的问题能解决吗?
23 发表于 2008-08-26 00:49 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b /tc /o-d /a *.txt') do (
set NewFile=%%a
goto :next
)
:next
set str=
for /f "usebackq delims=" %%i in ("%NewFile%") do (
for %%j in (%%i) do (
set str=%%j
if "!str:~,1!"=="5" (
set/a n+=1
if !n! equ 1 set str1=%%j
if !n! equ 3 set str2=!str1!%%j&goto :end
)
)
)
goto :eof
:end
mshta vbscript:createobject("wscript.shell").popup(" !str2! !str2! ")
论坛跳转: