簡體   English   中英

使用批處理文件將文件夾的所有內容復制到另一個文件夾?

[英]copying all contents of folder to another folder using batch file?

我有一個文件夾: C:\Folder1

我想將Folder1的所有內容復制到另一個位置D:\Folder2

如何使用批處理文件執行此操作?

xcopy.exe是這里的解決方案。 它內置在Windows中。

xcopy /s c:\Folder1 d:\Folder2

您可以在http://www.computerhope.com/xcopyhlp.htm中找到更多選項

如果您擁有robocopy,

robocopy C:\Folder1 D:\Folder2 /COPYALL /E

除此以外,

xcopy /e /v C:\Folder1 D:\Folder2

如果要刪除該消息,告訴它目的地是文件還是文件夾,則只需添加一個斜杠:

xcopy /sc:\\Folder1 d:\\Folder2\\

我看到很多答案建議使用xcopy。 但這是不必要的。 正如問題明確指出的那樣,在這種情況下,作者希望文件夾中的內容不是要復制的文件夾本身,所以我們可以:-

copy "C:\Folder1" *.*  "D:\Folder2"

如果C:\\Folder1存在子目錄,則可以使用所有 xcopy

@echo off
::Ask
echo Your Source Path:
set INPUT1=
set /P INPUT1=Type input: %=%

echo Your Destination Path:
set INPUT2=
set /P INPUT2=Type input: %=%

xcopy %INPUT1% %INPUT2% /y /s

在我的PC上,xcopy和robocopy也需要它們的路徑,即C:\\ Windows \\ System32 \\ xcopy.exe

這就是為什么我只使用“復制”的原因:復制/ y .... \\ Folder1 \\ File.txt .... \\ Folder2 \\

這是一個使用robocopy的解決方案,它將Folder1的內容復制到Folder2中,通過所有子目錄並自動覆蓋具有相同名稱的文件:

robocopy C:\Folder1 C:\Folder2 /COPYALL /E /IS /IT

這里:

/COPYALL復制所有文件信息
/E復制子目錄,包括空目錄
/IS包含相同的文件
/IT包含修改后的同名文件

更多參數見官方文檔: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy

注意:由於參數/COPYALL ,可能需要以管理員身份運行命令。 如果你不能:就擺脫它。

@echo off
xcopy /s C:\yourfile C:\anotherfile\

這是完成的! 簡單吧?

RoboCopy對我不起作用,這里有一些不錯的解決方案,但是沒有一個解釋XCopy開關及其作用。 另外,如果路徑中有空格,則也需要使用引號。

xcopy / i / e“ C:\\ temp \\ folder 1”“ C:\\ temp \\ folder 2”

這是Microsoft的文檔:

XCopy MS文檔

/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)

僅供參考...如果您使用TortoiseSVN,並且想要創建一個簡單的批處理文件以定期將整個存儲庫xcopy(或目錄鏡像)復制到“安全”位置,那么這就是您可能要使用的特定代碼。 它會復制隱藏的目錄/文件,維護只讀屬性,所有子目錄(最好是所有子目錄)不會提示輸入。 只要確保您正確分配了folder1(安全存儲庫)和folder2(可用存儲庫)即可。

@echo off
echo "Setting variables..."
set folder1="Z:\Path\To\Backup\Repo\Directory"
set folder2="\\Path\To\Usable\Repo\Directory"
echo "Removing sandbox version..."
IF EXIST %folder1% (
    rmdir %folder1% /s /q
)
echo "Copying official repository into backup location..."
xcopy /e /i /v /h /k %folder2% %folder1%

而且,就是這樣!

添加到計划的任務中,永不回頭。

@echo off
:: variables
echo Backing up file
set /P source=Enter source folder:
set /P destination=Enter Destination folder:
set xcopy=xcopy /S/E/V/Q/F/H/I/N
%xcopy% %source% %destination%
echo files will be copy press enter to proceed
pause

我已經編寫了一個.bat 文件來將文件復制並粘貼到一個臨時文件夾並使其成為 zip 並傳輸到 smb 掛載點,希望這會有所幫助,

    @echo off
    if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
   Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    NET USE \\IP\IPC$ /u:IP\username password
    ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"  "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
    NET USE \\172.20.10.103\IPC$ /D
    RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM