中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-31 20:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 查找带有空格的字符串 查看 2,107 回复 27
16 发表于 2008-10-04 18:31 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
开头和结尾用一个空格是为了美观...
17 发表于 2008-10-04 20:14 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
for %%g in (" %ClipboardText%" "^%ClipboardText%") do findstr /r /c:%%g 用来查找的文档.txt>"查到的号.txt"

这句无效,不会改了
18 发表于 2008-10-04 21:00 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
Originally posted by ka56 at 2008-10-4 06:27 PM:
开头是空格接着是7777的字符串
这个我是用一个变量,试了几个虾虾的代码都找不出来,邪门了....

这个也不行?
findstr /rc:"^ 7777" test.txt
19 发表于 2008-10-04 21:11 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
Originally posted by ceii at 2008-10-4 21:00:

这个也不行?
findstr /rc:"^ 7777" test.txt

findstr /rc:"^ %ClipboardText%" 用来查找的号文档.txt>>查到的号.txt

我换成这样,不行,呵呵
20 发表于 2008-10-04 21:21 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
set ClipboardText=7777
findstr /rc:"^ %ClipboardText%" 用来查找的号文档.txt>>查到的号.txt

我试了也可以啊!
21 发表于 2008-10-04 21:30 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
Originally posted by ceii at 2008-10-4 21:21:
set ClipboardText=7777
findstr /rc:"^ %ClipboardText%" 用来查找的号文档.txt>>查到的号.txt

我试了也可以啊!

把代码合在一起试下,有劳了!!
@echo off
@echo WScript.StdOut.Write(new ActiveXObject('htmlfile').parentWindow.clipboardData.getData('text'))> tmp.js 2>nul
@for /f "delims=" %%a in ('cscript //Nologo tmp.js') do @set ClipboardText=%%a >nul 2>nul
@del tmp.js /f /q >nul 2>nul
@echo %ClipboardText%
findstr /rc:"^ %ClipboardText%" 用来查找的号文档.txt>查到的号.txt
type 查到的号.txt| clip
22 发表于 2008-10-04 22:01 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
你的代码前面几行在我的机子运行不正常。
echo %ClipboardText% 不能得到 7777 。
看来问题不在于 findstr,而是前面赋值就已经不正常。
你能确定 echo %ClipboardText% 的输出是 7777 吗?
23 发表于 2008-10-04 22:10 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
Originally posted by ceii at 2008-10-4 22:01:
你的代码前面几行在我的机子运行不正常。
echo %ClipboardText% 不能得到 7777 。
看来问题不在于 findstr,而是前面赋值就已经不正常。
你能确定 echo %ClipboardText% 的输出是 7777 吗?

先复制"7777",运行后%ClipboardText%的输出是"7777",前面的代码不会错的
24 发表于 2008-10-04 22:18 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
找到原因了,%ClipboardText% 的值是 7777 加空格,
想办法去掉 7777 后面的空格就行了。
25 发表于 2008-10-04 22:20 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
修改前面的代码,加上以下语句应该可以了吧。
set ClipboardText=%ClipboardText: =%
26 发表于 2008-10-04 22:29 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
再看了一下,简单地把以下语句
for /f "delims=" %%a in ('cscript //Nologo tmp.js') do @set ClipboardText=%%a >nul 2>nul
改成
for /f "delims=" %%a in ('cscript //Nologo tmp.js') do @set ClipboardText=%%a>nul 2>nul
就行了。
27 发表于 2008-10-04 22:44 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
非常感谢ceii兄!!已经搞定~~
可用的代码确定:
@echo off
@echo WScript.StdOut.Write(new ActiveXObject('htmlfile').parentWindow.clipboardData.getData('text'))> tmp.js 2>nul
@for /f "delims=" %%a in ('cscript //Nologo tmp.js') do @set ClipboardText=%%a>nul 2>nul
@del tmp.js /f /q >nul 2>nul
@echo %ClipboardText%
cd.>查到的号.txt
findstr /rc:"^ %ClipboardText%" 用来查找的号文档.txt>>查到的号.txt
for %%b in ("%ClipboardText% $") do findstr /r /c:%%b 用来查找的号文档.txt>>查到的号.txt
type 查到的号.txt| clip
pause
28 发表于 2008-10-04 22:54 ·  中国 江苏 常州 溧阳市 电信
新手上路
积分 8
发帖 4
注册 2008-06-05 01:01
18年会员
UID 120513
性别 男
状态 离线
这样不行吗

@echo off
findstr /rc:" 7777" 7777.txt>77.txt
findstr /rc:"7777 " 7777.txt>>77.txt
pause

论坛跳转: