1
如何編寫一個bat文件,該文件能夠將file.dll
與.bat
文件所在的文件夾放入windowsMainDir/system32
文件夾中,但只有當文件不已經存在?用於將文件從一個地方複製到另一個地方的批處理文件
如何編寫一個bat文件,該文件能夠將file.dll
與.bat
文件所在的文件夾放入windowsMainDir/system32
文件夾中,但只有當文件不已經存在?用於將文件從一個地方複製到另一個地方的批處理文件
創建像「copy_file.cmd」您的批處理文件,並把這些內容:
@echo off
SET SRC="%~dp0file.dll"
SET DEST="%WINDIR%\system32\file.dll"
if not exist %DEST% copy /V %SRC% %DEST%
如果目標文件不存在,這將源文件複製到目標。 /V
開關使複製驗證文件已被正確複製,並且是可選的。
在SRC
%~dp0
的需要從可變%0
(批處理文件的路徑)的驅動d
和路徑p
和使用該路徑作爲一個前綴file.dll
。您希望這樣做,以確保腳本始終從批處理文件所在的目錄獲取文件,而不是當前目錄。例如,如果您的批處理文件位於映射到H:
的網絡驅動器上,則仍然可以從C:
運行它。
c:\> h:\shared_scripts\copy_file.cmd
我想在現代文件系統中,您可以放心地忽略'/ V'開關。 – Joey 2010-11-10 01:08:37
您可能希望將第二行更改爲'SET SRC =「%〜dp0file.dll」'。 '%〜dp0'展開爲批處理文件所在文件夾的路徑。這樣,如果當前目錄與批處理文件所在的目錄不同,那麼您仍然會採用正確的文件。 – 2010-11-11 07:25:26
@Cheran S:好主意,我做了改變。 – indiv 2010-11-11 18:11:24