作者newclicker (Newclicker)
看板EzHotKey
标题Fw: [批次] 批次语法取得随身碟代号
时间Tue Jan 15 03:20:22 2013
※ [本文转录自 EZsoft 看板 #1Gyub4CZ ]
作者: newclicker (Newclicker) 看板: EZsoft
标题: Re: 4、批次语法取得随身碟代号
时间: Mon Jan 14 12:27:42 2013
※ 引述《mlev (大地彩妆师)》之铭言:
: 想要写个批次档将档案备份到随身碟
: 但随身碟代号会因插在不同电脑而不同
: 因此想求问
: 有什麽方法可以取得随身碟代号呢?
首先在你的随身碟上面建立一个档案 例如 usbdsk.flg
这样在不同电脑间就不用烦恼随身碟代号会不同
这边为了方便modified各种功能,利用三个批次档达成
AutoSearch.bat用来自动搜寻windows所有可能的磁碟机代号
checku.bat 用来确认是否存在usbdsk.flg这个档案,并将随身碟代号变数设为%upan%
func1.bat 执行你要的功能
写完你要的func1.bat,
以後只要执行Autosearch.bat就可以完成你要的备份或其他功能
AutoSearch.bat
@echo off
for %%i in (z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c) do call
checku.bat %%i
rem
(以上从 for 到 %%i 为同一行)
rem 用来自动搜寻windows所有可能的磁碟机代号
checku.bat
@echo off
set upan=
if not exist %1:\usbdsk.flg goto ext >nul 2>nul
set upan=%1
func1.bat
:ext
rem 用来确认是否存在usbdsk.flg这个档案
rem 并将随身碟代号变数设为%upan%
func1.bat (内容为你要的功能,例如把C:\temp 备份到随身碟:\temp)
@echo off
rem 执行你要的功能
copy c:\temp %upan%:\temp\
--
女子徵友网 要帅 有车|████
█████████▕
搜寻▏
进阶搜寻 | 使用偏好
▇▇  ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄
搜寻: ⊙所有男生 ○歪国人 ○宅宅 ○台湾男生
所有网页 约有 1项符合要帅 有车的查询结果,以下是第 1项。 共费0.01秒。
您是不是要找: 象棋 φtaipingeric
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.163.231
※ 编辑: newclicker 来自: 1.34.163.231 (01/14 12:47)
1F:→ ThisIsNotKFC:高手! 01/14 12:59
2F:推 chinoyan:为什麽不写成一个BAT档,要分三个 01/14 19:58
3F:→ CP64:可读性比较高吧 01/14 20:18
4F:→ bestpika:bat 不是在写程式啊XD 01/14 21:11
5F:推 CP64:就算是script也是要顾及到维护吧030 01/14 22:44
板友果然内行,就是因为是写批次档,所以要注意降低维护的门槛
(目标就是要让不会写程式的使用者都能够轻易修改)
通通写在一个档案里面,goto来goto去的,个人不太喜欢
就算写出能够彰显自己功力,但却让大家难以修改/客制化的程式
这样的程式码等於一出生就宣告死亡,因为除了作者之外不会有人想帮忙改版
还不如写出能让小学生能看得懂并能简单修改的程式码更让人觉得有成就感
之所以分成这三个档案代表最常需要客制化的三个环节
AutoSearch.bat大致上没有修改的必要(如果要加上软碟机,那就把a,b加上去)
checku.bat单独出来,这样使用者如果希望把
usbdsk.flg改成其他五花八门的名字,
就只要修改这个档案就好。
另外更进阶的用法是,利用不同的名字,可以做到不同随身碟之间的备份与同步
而不会受到换了别台电脑就搞不清楚哪一个磁碟是来源,哪一个磁碟是目的
ex.来源随身碟就放个
uSource.flg,目的随身碟就放个
uBackup.flg
来源硬碟1 就放个
h1Sourc.flg,来源硬碟2 就放个
h2Sourc.flg
func1.bat
func2.bat
......... 这样子分的原因是考虑到後续工作可简单可复杂,比如说有同步档案需求的话
前後步骤就会有其依存性关联,同一个档案内goto来来去去
再加上多重来源多重目的之间的备份和同步,绝对会让想修改的人翻桌
再来如果考虑到可以搭配开放源码的FreeFileSync命令列功能(好用),
这样子分开写不但清楚,备份、比对、同步功能也就可以好好发挥。
当然我不认为我的解法就是最好的,有其他构想的人自然是很欢迎一起讨论。
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: newclicker (1.34.163.231), 时间: 01/15/2013 03:20:22
※ 编辑: newclicker 来自: 1.34.163.231 (01/15 14:27)
6F:推 willterous:模组化设计赞!(没看完但有懂) 06/04 13:36