首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
脚本专栏
DOS/BAT
正文
for命令的一些bug分析
所属分类:
脚本专栏
/
DOS/BAT
阅读数: 827
收藏 0
赞 0
分享
1、关于冒号:当某行内容以 : 打头时,用 for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do echo.%%j 会把 :
过滤掉;
2、关于分号:findstr .* test.txt 可以把以分号打头的行完整显示出来,但是,用在for语句中就不能找到了,必须加上参数/n才可以
,似乎是for语句会把以分号打头的行当作注释内容忽略掉,好象不是findstr的错;而不放在for语句中的 type、more和findstr都是可以的;
解决问题1和问题2的方案有:
稍微复杂一点的:
@echo off
:: 不会忽略空行
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set "str=%%i"
call set "str=%%str:*:=%%"
call echo "%%str%%"
)
pause
最简洁的:
@echo off
:: 此代码会忽略空行
for /f "delims= eol=" %%i in (test.txt) do echo %%i
pause
3、在for扩展中,%%~si 表示扩充的路径只含短文件名,但是在以下的测试过程中,却发现真正的情况并非如此:
测试环境:
--------------------------------------------------------------------------------
D:\abcdefg hijk\abcd efgh.txt
D:\abcdefg hijk\te st.txt
测试代码:
--------------------------------------------------------------------------------
@echo off
for /f "delims=" %%i in ('dir /a /b *.txt') do echo %%~si
pause
测试结果:
--------------------------------------------------------------------------------
D:\ABCDEF~1\ABCDEF~1.TXT
D:\ABCDEF~1\TEST~1.TXTtxt
看到测试结果的最后一条记录了吗?居然扩展到了 TEST~1.TXTtxt !
总结了一下出错的情形,似乎是这样的:当路径中有超过一个的地方因为目录名超过11个字符而扩充到短文件名的时候,文件名+后缀名
少于11个字符且带空格的文件就会发生扩展错误。
更多精彩内容
其他人还在看
for 语句从入门到精通
在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
评论 0
收藏 0
赞 0
分享
dos 目录跳转 cd
当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
评论 0
收藏 0
赞 0
分享
tree 以树形格式罗列文件
tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
评论 0
收藏 0
赞 0
分享
dos 内容重定向
当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
评论 0
收藏 0
赞 0
分享
执行批处理bat程序中的条件处理
一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
评论 0
收藏 0
赞 0
分享
不错的批处理脚本 第一部分
非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
评论 0
收藏 0
赞 0
分享
不错的批处理脚本实例代码 第二部分
不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
评论 0
收藏 0
赞 0
分享
开机更新桌面主题的批处理代码
更新桌面主题的批处理代码
评论 0
收藏 0
赞 0
分享
非常好的for 教程, 当时我就是看这个学习for 的第1/2页
批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
评论 0
收藏 0
赞 0
分享
批处理的"循环"效果脚本
曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
巴西世界杯复盘:七大移动营销案例图文解析
网站赚钱就靠广告到底行不行?
主观臆断,百度联盟审核的条件
光大银行网上银行西联汇款收汇方法分享
第三次零售革命 - 智慧零售
冲刺双十一 如何做好淘宝双11期间的推广及运营
站长故事
更多
站长故事:一个90后站长的自述
2013 敢问网站建设的路究竟在何方
我认识的中国第一网民高春辉
求伯君:如果时光倒流我不会选择创业
为什么知乎做起来了?市场竞争的魅力和价值
网站被K到恢复收录与排名我做了什么