![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 20:15 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处小玩意! 玩出你的水平! |
| 可打印版本 3,034 / 18 |
| 第1楼 hsw | 发表于 2006-11-16 05:01 |
| 新手上路 发帖 1 积分 4 | |
|
批处小玩意! 玩出你的水平! 呵呵 ...
共享出你觉得经典的 批处理把.... 我先来一个 ... @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 嘿嘿 这是群里的朋友写的 。。。具体是谁 我就不写了 怕打扰到 .... |
|
| 第2楼 ccwan | 发表于 2006-11-16 05:32 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
这里的版主和高手们的作品你都看了吗?都是经典啊!
可以说,本论坛代表了国内(不敢说世界)批处理的最高水平了。 |
|
| 第3楼 xiaohacker | 发表于 2007-01-15 09:20 |
| 初级用户 发帖 45 积分 110 | |
|
xiaohacker 非常赞同二楼说的!
|
|
| 第4楼 ligong30 | 发表于 2007-01-15 09:49 |
| 初级用户 发帖 9 积分 24 | |
|
需要我来解释一下意思吗??????
|
|
| 第5楼 lxmxn | 发表于 2007-01-15 10:12 |
| 版主 发帖 4,938 积分 11,386 | |
|
无语…… |
|
| 第6楼 steven6611 | 发表于 2007-01-15 11:53 |
| 新手上路 发帖 7 积分 11 | |
|
学习中,,。。。。
|
|
| 第7楼 GOTOmsdos | 发表于 2007-01-15 13:12 |
| 铂金会员 发帖 1,827 积分 5,154 | |
Originally posted by hsw at 2006-11-16 05:01 AM: 感觉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 ] |
|
| 第8楼 lxmxn | 发表于 2007-01-15 15:06 |
| 版主 发帖 4,938 积分 11,386 | |
|
变通一下,试试下面这个: |
|
| 第9楼 tghksj | 发表于 2007-01-15 22:27 |
| 社区乞丐 发帖 90 积分 -49 | |
|
井底之蛙,
不过恭喜你,找对了门路,终于来到了这里,很快你就会知道天有多大了. 这里几位巨人级别的代码,保证你什么时候看了什么时候哭.... |
|
| 第10楼 zhxy9804 | 发表于 2007-01-16 00:14 |
| 中级用户 发帖 97 积分 208 | |
|
给我具体讲一下8楼的代码吧,知道是把盘里的doc文件列出来
就是看不懂 ,谁给我讲一下?多谢了!!! |
|
| 第11楼 mf008 | 发表于 2007-01-16 03:02 |
| 新手上路 发帖 6 积分 16 | |
|
: 我也不算懂..请说明.
|
|
| 第12楼 cqxiaozi007 | 发表于 2007-01-16 03:57 |
| 新手上路 发帖 6 积分 16 | |
|
求知! 我是菜鸟,为什么do后面有()号啊,是什么意思,我看的书籍里没讲.:(
|
|
| 第13楼 lxmxn | 发表于 2007-01-16 06:31 |
| 版主 发帖 4,938 积分 11,386 | |
|
这个一下不好解释,搜索一下论坛里面关于 for 和 call 命令的帖子吧。 |
|
| 第14楼 hxuan999 | 发表于 2007-01-16 11:37 |
| 中级用户 发帖 161 积分 337 | |
|
说两个问题,
第一个是,do 后面的左括(号,一定要和do 在一行,不然会出错的. 第二个是,for /r 后面的路径参数是一定要是路径,也就是说C:要写成C:\才可以. 基本上%1,和%X%形式的变量都可以做路径变量,但是不可以用!X!和延迟变量形式,我试了多次也不行.所以用call调用是唯一的办法了(当然除了用字符串截取等). |
|
| 第15楼 hxuan999 | 发表于 2007-01-17 00:26 |
| 中级用户 发帖 161 积分 337 | |
|
我来一个吧.
echo;这里不可以用echo. [ Last edited by hxuan999 on 2007-1-16 at 12:29 PM ] |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |