中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 02:15
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 我的findstr怎么了
可打印版本  2,971 / 22
第16楼 vkill 发表于 2006-09-27 09:55
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
楼主的错误到底是怎么回事那?以前看到过那样的错误
第17楼 vkill 发表于 2006-09-27 09:57
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by namejm at 2006-9-27 09:53:


  从这段代码来看,你是在CMD窗口下执行的。从你的整体意思来看,你是想先转到 C 盘根目录下之后再创建文件夹,但是你最开始的那一句就没冠...

我怎么执行没有错误那???不解
第18楼 pengfei 发表于 2006-09-27 09:59
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
其实for扩充到文件名还是有BUG的:

for语句中执行dir /ad或dir /a-d中用%%~ni扩充到文件名, FOR语句处理机制可能是把最后一个路径"\"符号后面"."号和后面的后缀去掉, 只显示文件名;

而如果/ad只查找文件夹, 最后的路径"/"后面没有"."号, 它会整个显示最后一个目录名.

[ Last edited by pengfei on 2006-9-27 at 12:10 ]
第19楼 pengfei 发表于 2006-09-27 10:04
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
Originally posted by he200377 at 2006-9-27 09:57:

我怎么执行没有错误那???不解


你那段代码第一个命令是存在缺陷的, 假设你在D盘运行...

不过for语句的%%~ni扩充的确是有bug的, 当时我也没有测试. 后来才发现他的扩充机制存在问题.

[ Last edited by pengfei on 2006-9-27 at 10:24 ]
第20楼 smileseeker 发表于 2006-09-28 04:06
中级用户 发帖 83 积分 316
感谢各位朋友的热心帮助

小弟的目的是这样的 通过下面代码

echo.>temp.txt
for /f %%i in ('dir /ad /s /b') do (echo %%~ni|findstr "^*$" && echo %%i >>temp.txt)
for /f %%i in (temp.txt) do del /q %%i\*.*


解决http://www.cn-dos.net/forum/viewthread.php?tid=23404&fpage=1

但是就是卡在findstr上

[ Last edited by smileseeker on 2006-9-28 at 05:08 ]
第21楼 smileseeker 发表于 2006-09-28 04:14
中级用户 发帖 83 积分 316
Originally posted by namejm at 2006-9-27 09:44 AM:


  此言差矣。CMD下的 dir 是可以区分出某个file到底是文件夹还是文件的,要不然,dir命令还要 /ad 和 /a-d 这两个参数干什么呢?如果按照你的理解 ...



同意

D:\scripts>for /f %i in ("\123.456") do echo %~ni

D:\scripts>echo 123
123
第22楼 smileseeker 发表于 2006-09-28 04:24
中级用户 发帖 83 积分 316
这是我以前在论坛上找的一段批处理脚本

set /p aa=Enter your code:
echo %aa% | findstr "^[a-z][A-Z]*$"||echo ERROR!!!
pause


我记得当时好像是可以执行的 现在居然是这样的执行结果

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!

D:\scripts>set /p aa=Enter your code:
Enter your code:
D:\scripts>echo dfg | findstr "^[a-z][A-Z]*$" || echo ERROR!!!


无语
第23楼 kgdetg1127 发表于 2007-10-11 21:25
初级用户 发帖 89 积分 158
顶啊!!!
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023