中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处小玩意! 玩出你的水平!
<<   [1] [2]  >>   >
作者:
标题: 批处小玩意! 玩出你的水平! 上一主题 | 下一主题
hsw
新手上路





积分 4
发帖 1
注册 2006-9-14
状态 离线
『楼 主』:  批处小玩意! 玩出你的水平!

呵呵 ... 共享出你觉得经典的 批处理把.... 我先来一个 ... @echo off for %%a in (c d e f) do ( for /f "delims=" %%i in ('dir /s/b/a-d %%a:\*.doc') do ( copy %%~fsi .\ ) ) pause 嘿嘿 这是群里的朋友写的 。。。具体是谁 我就不写了 怕打扰到 ....


2006-11-16 05:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 2 楼』:  

这里的版主和高手们的作品你都看了吗?都是经典啊! 可以说,本论坛代表了国内(不敢说世界)批处理的最高水平了。




三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2006-11-16 05:32
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
xiaohacker
初级用户




积分 110
发帖 45
注册 2007-1-7
状态 离线
『第 3 楼』:  xiaohacker

非常赞同二楼说的!


2007-1-15 09:20
查看资料  发短消息  网志   编辑帖子  回复  引用回复
ligong30
初级用户





积分 24
发帖 9
注册 2006-8-20
状态 离线
『第 4 楼』:  

需要我来解释一下意思吗??????


2007-1-15 09:49
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  

  无语……


2007-1-15 10:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
steven6611
新手上路





积分 11
发帖 7
注册 2006-10-19
状态 离线
『第 6 楼』:  

学习中,,。。。。


2007-1-15 11:53
查看资料  发短消息  网志   编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 7 楼』:  

Originally posted by hsw at 2006-11-16 05:01 AM: @echo off for %%a in (c d e f) do ( for /f "delims=" %%i in ('dir /s/b/a-d %%a:\*.doc') do ( c ...
感觉delims和dir组合效率低,不到万不得已不宜用, 应该用用 FOR /R 来处理(c d e f) 但是 好象 /R 后面不能跟变量? 怎样使 /R 后面能处理(c d e f)? 目标如下: 1: for %a in (c d e) do ( for /r %a: %b in (*.doc) do if exist %b rename %b %~nb.dos ) 说不合法 2: for %a in (c d e) do ( set var=%a: && for /r %var% %b in (*.doc) do if exist %b rename %b %~nb.dos ) 仍说不合法 能不能实现呢? 就是怎样使执行 /R 之前把变量变成值? 用ECHO ? [ Last edited by GOTOmsdos on 2007-1-19 at 01:16 AM ]


   此帖被 +2 点积分    点击查看详情   
评分人:【 zhxy9804 分数: +2  时间:2007-1-16 00:12


2007-1-15 13:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  

  变通一下,试试下面这个:
@echo off
for %%i in (c d e f) do call :printf %%i
pause

:printf
for /r "%1:" %%j in (*.doc) do echo=%%j


2007-1-15 15:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
tghksj
社区乞丐

此图片另存后死机



积分 -49
发帖 90
注册 2006-12-2
状态 离线
『第 9 楼』:  

井底之蛙, 不过恭喜你,找对了门路,终于来到了这里,很快你就会知道天有多大了. 这里几位巨人级别的代码,保证你什么时候看了什么时候哭....




我的网络笔记本.[color=Red]非联系本人请勿访问![/color]http://w.vicp.net[img]http://zhenlove.com.cn/cndos/fileup/files/QM2.jpg[/img]
2007-1-15 22:27
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zhxy9804
中级用户





积分 208
发帖 97
注册 2006-12-28
状态 离线
『第 10 楼』:  

给我具体讲一下8楼的代码吧,知道是把盘里的doc文件列出来 就是看不懂 ,谁给我讲一下?多谢了!!!


2007-1-16 00:14
查看资料  发短消息  网志   编辑帖子  回复  引用回复
mf008
新手上路





积分 16
发帖 6
注册 2006-12-18
状态 离线
『第 11 楼』:  :

我也不算懂..请说明.


2007-1-16 03:02
查看资料  发短消息  网志   编辑帖子  回复  引用回复
cqxiaozi007
新手上路




积分 16
发帖 6
注册 2007-1-16
状态 离线
『第 12 楼』:  求知!

我是菜鸟,为什么do后面有()号啊,是什么意思,我看的书籍里没讲.:(


2007-1-16 03:57
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 13 楼』:  

  这个一下不好解释,搜索一下论坛里面关于 for 和 call 命令的帖子吧。


2007-1-16 06:31
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 14 楼』:  

说两个问题, 第一个是,do 后面的左括(号,一定要和do 在一行,不然会出错的. 第二个是,for /r 后面的路径参数是一定要是路径,也就是说C:要写成C:\才可以. 基本上%1,和%X%形式的变量都可以做路径变量,但是不可以用!X!和延迟变量形式,我试了多次也不行.所以用call调用是唯一的办法了(当然除了用字符串截取等).




for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2007-1-16 11:37
查看资料  发送邮件  发短消息  网志  OICQ (33899867)  编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 15 楼』:  

我来一个吧.
  1. @echo off
  2. set c=0&set "dd=cde"
  3. :loop
  4. call set "d=%%dd:~%c%,1%%"
  5. if "%d%"=="" goto :eof
  6. for /r "%d%:\" %%b in (*.doc) do echo;&&echo;[%%b]
  7. set /a c+=1
  8. goto loop
  9. pause
hxuan?表ー: 2007-01-16 11:24
echo;[%%b]这里不可以用echo.[%%b] [ Last edited by hxuan999 on 2007-1-16 at 12:29 PM ]




for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2007-1-17 00:26
查看资料  发送邮件  发短消息  网志  OICQ (33899867)  编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: