![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 13:34 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [問題]存取當天不指定的檔案 |
| 可打印版本 721 / 11 |
| 第1楼 xmi | 发表于 2008-02-22 01:35 |
| 初级用户 发帖 56 积分 125 | |
|
[問題]存取當天不指定的檔案 請教我想做一個bat檔如下:
1.先看d:\source\data\下有沒想到今天的檔(每天是不定的, 可能有, 可能沒有) 0214abc.abc.zip 0214ope.def.zip 2. 如有就在d:\source\source\開一個當天日期的folder 20080214.abc 20080214.def 3. unzip *.zip 到d:\source\source\它相對的檔案夾內. d:\source\source\20080214.abc\ d:\source\source\20080214.def\ 4. 然後ftp上一個server內 但兩個檔不可以同時ftp 上傳至server內, 要待一個完了(停1分鐘), 才開始上傳另一個. 請教要如何做到? :( |
|
| 第2楼 fastslz | 发表于 2008-02-22 10:39 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
ftp 自己搞定,关键词搜索或ftp /? |
|
| 第3楼 xmi | 发表于 2008-02-22 16:29 |
| 初级用户 发帖 56 积分 125 | |
|
謝謝..我試試看.
|
|
| 第4楼 fastslz | 发表于 2008-02-22 16:41 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
哦2楼代码失误了
dir /ad改成dir /a-d |
|
| 第5楼 xmi | 发表于 2008-02-22 20:53 |
| 初级用户 发帖 56 积分 125 | |
|
fastslz兄, 我試了以下:
但看似是date出了問題....
fastslz師兄,因在data內的檔是ddmm+xxx.aaa.zip (即2202a1e.sam.zip, 220255q.pet.zip, ... 15023eo.tuu.zip) ... 大至如: 今日是22022008, 即所有以ddmm=2202為名的都會有行動 copy和建夾於d:\source\computer\yyyymmdd.aaa\ d:\source\computer\20080222.sam\2202a1e.sam.zip d:\source\computer\20080222.pet\220255q.sam.zip 是這樣了..... |
|
| 第6楼 fastslz | 发表于 2008-02-22 21:23 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
以后测试代码加echo实际应用去掉echo
@echo off 执行效果 dir /a-d 0222abc.abc.zip |
|
| 第7楼 xmi | 发表于 2008-02-22 22:38 |
| 初级用户 发帖 56 积分 125 | |
|
它沒有在D:\source\source內建資料夾???
|
|
| 第8楼 fastslz | 发表于 2008-02-22 23:03 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
Originally posted by xmi at 2008-2-22 22:38: 怎么建自己搞定呀 unzip 我N年没用了 |
|
| 第9楼 xmi | 发表于 2008-02-22 23:23 |
| 初级用户 发帖 56 积分 125 | |
|
謝謝, 我終於成功建立folder了...只要把所有command分行就行和""除掉,很是奇怪, 為何你可以一行成功, 而我的就要分行?
@echo off set aDate=%date:~0,-4% set aDate=%aDate:-=% echo dir /a-d %adate:~4%abc.abc.zip&&echo md d:\source\computer\%adate%.abc\ unzip %adate:~4%abc.abc.zip "d:\source\computer\%adate%.abc\" echo dir /a-d %adate:~4%39E.def.zip&&echo md d:\source\computer\%adate%.def\&&echo copy %adate:~4%ope.def.zip&&echo d:\source\computer\%adate%.def\&&echo pause 但為何日期永遠都是顯示0222,而不是2202? [ Last edited by xmi on 2008-2-22 at 11:25 PM ] |
|
| 第10楼 fastslz | 发表于 2008-02-22 23:46 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
『第 6 楼』:
以后测试代码加echo实际应用去掉echo 我不是说了吗要去掉echo(也就是6楼红色的要去掉) @off set aDate=%date:~0,-4% :::剔除当前时间后4位 set aDate=%aDate:-=% :::剔除aDate变量中的 - 符号 dir /a-d %adate:~4%abc.abc.zip&&md "d:\source\source\%adate%.abc\"&unzip %adate:~4%abc.abc.zip "d:\source\source\%adate%.abc\" :::用dir判断当前目录MMddabc.abc.zip,dir命令返回成功就建立d:\source\source\YYYYMMdd文件夹,并且unzip解压MMddabc.abc.zip到d:\source\source\YYYYMMdd dir /a-d %adate:~4%ope.def.zip&&md "d:\source\source\%adate%.def\"&unzip %adate:~4%ope.def.zip "d:\source\source\%adate%.def\" :::同上 pause [ Last edited by fastslz on 2008-2-22 at 11:49 PM ] |
|
| 第11楼 fastslz | 发表于 2008-02-23 00:18 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
http://www.cn-dos.net/forum/viewthread.php?tid=25746
好了仁至义尽了 [ Last edited by fastslz on 2008-2-23 at 12:49 AM ] |
|
| 第12楼 xmi | 发表于 2008-02-23 00:34 |
| 初级用户 发帖 56 积分 125 | |
|
fastslz十分謝.我太蠢了, 現在明白點了.但還要研究一下... many thanks
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |