|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『楼 主』:
怎样从外部获得多个变量来支持多文件?已解决
@echo off
if not exist "f:\备份" md "f:\备份"
:start
if not "%~1"=="" (
move "%~1" f:\备份\
shift
goto :start)
pause>nul
引用2楼兄台的代码,测试过,支持拖放操作,已经很好地解决了我前面提出的问题:(目前只能支持单文件,而且文件名不能有空格,不知道如何改进才能支持多文件(多于9个),而且不受空格的影响,我把%1改成"%1"提示说命令语法不支持。),但测试后发现不支持文件夹,不知道该怎么样完善下?
可能我前面没说清楚,不好意思,其实我是想把这个P放到SENDTO里头来用,或者直接将多个文件拖放到这个P上来操作
大虾门帮忙看看。。。:lol:
[ Last edited by echo on 2006-12-12 at 04:50 PM ]
|
|
2006-12-12 01:42 |
|
|
youxi01
高级用户
积分 846
发帖 247
注册 2006-10-27 来自 湖南==》广东
状态 离线
|
|
2006-12-12 05:48 |
|
|
NaturalJ0
银牌会员
积分 1181
发帖 533
注册 2006-8-14
状态 离线
|
『第
3 楼』:
输入时你加上引号,传进去后去掉再用,如果要超过 9 个,应该要用 shift 。
|
|
2006-12-12 06:05 |
|
|
youxi01
高级用户
积分 846
发帖 247
注册 2006-10-27 来自 湖南==》广东
状态 离线
|
『第
4 楼』:
TO :楼上,楼主出现的问题主要不是引号的问题,而是空格的问题,应该!
|
|
2006-12-12 06:29 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
|
2006-12-12 10:29 |
|
|
youxi01
高级用户
积分 846
发帖 247
注册 2006-10-27 来自 湖南==》广东
状态 离线
|
『第
6 楼』:
斑竹的代码真是极尽简洁之能啊!羡慕!!!
|
|
2006-12-12 10:57 |
|
|
sea2moon
初级用户
积分 47
发帖 23
注册 2006-9-27
状态 离线
|
『第
7 楼』:
请问
@echo off
md D:\备份 2>nul
for %%i in (%*) do move …………
中的,
%* 相不相当于 *.* ?
|
|
2006-12-12 11:11 |
|
|
namejm
荣誉版主
batch fan
积分 5226
发帖 1737
注册 2006-3-10 来自 成都
状态 离线
|
『第
8 楼』:
%* 表示 call 语句所引用的所有参数,和 *.* 完全不一样。
此帖被 +2 点积分 点击查看详情 评分人:【 echo 】 | 分数: +2 | 时间:2006-12-12 23:53 |
|
|
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。 |
|
2006-12-12 11:15 |
|
|
3742668
荣誉版主
积分 2013
发帖 718
注册 2006-2-18
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by youxi01 at 2006-12-12 10:57:
斑竹的代码真是极尽简洁之能啊!羡慕!!! |
|
要想代码好,if尽量少;要想代码壮,引号括号两边放。
你也不用妄自菲薄,你的代码也是本论坛中比较有创造性的之一。
|
|
2006-12-12 11:47 |
|
|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『第
10 楼』:
谢谢各位,学习了,我上面可能没说清楚
我是想它支持拖放操作,即将多个文件直接拖到这个P上进行处理,或者把这个P放到SENDTO里,这样比较省心!
上面没说清楚,不好意思,谢谢大家
[ Last edited by echo on 2006-12-12 at 11:13 AM ]
|
|
2006-12-12 23:35 |
|
|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by youxi01 at 2006-12-11 04:48 PM:
试试以下的代码,支持多个文件,支持拖放,但是对于具有重复名的文件,在移动过程中进行覆盖且不提示!!!有需要的话自己改进!!!
[code]
@ ... |
|
你明白了我的意思,呵呵,代码我测试过
支持拖放操作,支持空格文件名和多于九个文件,太棒了!!!
谢谢你,谢谢大家!
[ Last edited by echo on 2006-12-12 at 11:13 AM ]
|
|
2006-12-12 23:40 |
|
|
kcdsw
中级用户
积分 404
发帖 179
注册 2006-3-30
状态 离线
|
|
2006-12-13 03:23 |
|
|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『第
13 楼』:
先顶再看,看起来正合我意,谢谢
我顶!
确实不错,今天不能给你评分了,限制了,明天吧,以后有好东西多拿出来共享哦!
[ Last edited by echo on 2006-12-12 at 03:38 PM ]
|
|
2006-12-13 04:34 |
|
|
kcdsw
中级用户
积分 404
发帖 179
注册 2006-3-30
状态 离线
|
『第
14 楼』:
呵呵 我这个程序是每天工作都用的
目的就是为了把要处理的文件放到 以当日日期为名的文件夹中 以保证服务器能从这里取到文件.(因为,如果都放在一个目录里,容易出现重名,或者文件过多,服务器响应慢)
然后需要支持所有可能性(文件已打开除外)
1.右键sendto
2.拖放
3.方便查看
4.支持文件夹
5.移除原文件
另外 为了方便我操作.我在其快捷方式中设置了快捷键.一按立刻就打开了当天的文件夹.
我觉得完全是利用了系统的很多其他功能 才使得这个批处理用起来感觉是那么那么的好
比如:sendto , 快捷键 , 最小化运行 等等等等
所以我觉得这个东西其实很适合你拿回去做备份
这个日期为名的文件夹形式可以保留一下
只需要改动目标文件夹.
[ Last edited by kcdsw on 2006-12-13 at 04:45 AM ]
此帖被 +2 点积分 点击查看详情 评分人:【 echo 】 | 分数: +2 | 时间:2006-12-14 01:53 |
|
|
|
2006-12-13 04:42 |
|
|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『第
15 楼』:
Quote: | Originally posted by kcdsw at 2006-12-12 03:42 PM:
呵呵 我这个程序是每天工作都用的
目的就是为了把要处理的文件放到 以当日日期为名的文件夹中 以保证服务器能从这里取到文件.(因为,如果都放 ... |
|
刚刚测试过,真是太爽了,哈哈,我就不说了。。。
看来大家都各自藏着些好宝贝哦!
学习、受教、受用了,谢谢!:P
[ Last edited by echo on 2006-12-12 at 03:53 PM ]
|
|
2006-12-13 04:48 |
|