2012-06-25 69 views
0

我試圖通過記事本製作批處理文件,以實質上自動將文件從驅動器移動到驅動器。使用Windows批處理文件複製文件並刪除重複項

我的目標是將文件從我的H驅動器移動到我的A驅動器,H:\Arco\examplefile.csv\A:\DSE\Open_Access_Data\ARCo

我也想自動化這項工作,如果可能的話每30分鐘運行一次。但是如果我需要點擊它,那就這麼做吧。到目前爲止,我所能做的就是將文件複製到我的桌面上。我似乎無法讓它在我的目錄之間。

COPY H:\dehpc14_Disk_Quota_Report.csv %userprofile%\Desktop 
+2

除非你正在運行cygwin,這不是一個bash問題。 –

+0

是的,這個問題在哪裏?我正在尋找$提示符,它不在那裏。 –

+1

對不起,我打算把批次不bash,編輯現在後 – Zenaphor

回答

1

這應該工作:

:LOOP 
copy H:\Arco\examplefile.csv A:\DSE\Open_Access_Data\ARCo /y 
timeout /t 1800 
goto :LOOP 

這將複製文件每30秒並覆蓋所有現有文件。

注意:timeout命令只適用於Vista及以上版本,如果你需要在XP上使用這個命令,請告訴我。

要在系統啓動時啓動批處理文件,可以將其放入用戶的啓動文件夾或使用註冊表。

當前用戶的啓動文件夾是

C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 

對於所有用戶

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 

或者您可以使用,我個人比較喜歡的註冊表。在

當前用戶創建的路徑,你的批處理文件中的字符串值

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 

計算機用戶

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 

兩個註冊表選項都需要管理員權限,但。

爲做啓動或註冊表批次分別

copy %0 "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /y 

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "MyBatchFile" /d "%0" /f 

這將可以複製自身啓動或自身添加到註冊表每次運行時。因此,您可以手動執行此操作,也可以從第一次運行時自行執行此操作(上面的命令)。

%0是批處理文件自己的路徑,如果您想使用其他地方的命令,或者只是從cmd中輸入,那麼請改爲輸入批處理文件的完整路徑。

+0

非常感謝上面的例子,偉大的工程,有沒有一種方式,我可以讓它運行時,無論系統上或將是一個案件不得不開始每次關閉批處理文件?謝謝Z – Zenaphor

+0

@ Zeaphor沒問題。我已經編輯了關於如何在每次登錄時啓動它的信息。 –

+1

我更喜歡'%HOMEPATH%'和'%ALLUSERSPROFILE%',因爲'C:\ Users \%username%'和'C:\ ProgramData \ ...'的固定路徑只適用於新版本的英文標準安裝windows版 – jeb

0

在Unix中使用這樣的命令cron設置固定的時間間隔運行像你的自動複印程序。請參閱堆棧溢出問題What is the Windows version of cron? for cron-like version for Windows。

從一個驅動器複製到另一個使用

copy filepath1 filepath2 

其中filepath1是您H:\path-to-filefilepath2是你A:\path-to-file

相關問題