※ [本文轉錄自 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\