使用批处理文件将文件夹的所有内容复制到另一个文件

时间:2011-01-05 05:40:33

标签: windows batch-file copy directory

我在C:\Folder1

中有一个文件夹

我想将Folder1的所有内容复制到其他位置D:\Folder2

如何使用批处理文件执行此操作?

12 个答案:

答案 0 :(得分:143)

xcopy.exe就是这里的解决方案。它内置于Windows中。

xcopy /s c:\Folder1 d:\Folder2

您可以在http://www.computerhope.com/xcopyhlp.htm

找到更多选项

答案 1 :(得分:34)

如果你有robocopy,

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

,否则

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

答案 2 :(得分:16)

如果你想删除告诉目的地是文件或文件夹的消息,你只需添加一个斜杠:

xcopy /s c:\Folder1 d:\Folder2\

答案 3 :(得分:9)

我看到许多答案暗示使用xcopy。 但这是不必要的。由于问题清楚地提到作者想要文件夹中的内容而不是文件夹本身被复制在这种情况下我们可以 - :

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

如果xcopy

中存在任何子目录,则可以使用所有 C:\Folder1

答案 4 :(得分:2)

@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

答案 5 :(得分:2)

在我的电脑上,xcopy和robocopy也需要它们的路径,即C:\ Windows \ System32 \ xcopy.exe

这就是为什么我简单地使用" copy": copy / y .... \ Folder1 \ File.txt .... \ Folder2 \

答案 6 :(得分:2)

RoboCopy不适用于我,这里有一些好的解决方案,但是没有一个解释XCopy开关及其作用。另外,如果路径中有空格,则也需要使用引号。

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

这是Microsoft的文档:

XCopy MS Documentation

/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)

答案 7 :(得分:2)

这是带有 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,可能有必要以管理员身份运行命令。如果做不到:那就摆脱它。

答案 8 :(得分:1)

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

这就是它的完成方式! 简单,对吧?

答案 9 :(得分:0)

我写了一个.bat文件,用于将文件复制并粘贴到一个临时文件夹中,并使其压缩并传输到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%"

答案 10 :(得分:-1)

仅供参考...如果您使用TortoiseSVN,并且您想要将一个简单的批处理文件创建到xcopy(或目录镜像),将整个存储库创建为一个" safe"定期定位,然后这是您可能想要使用的特定代码。它复制隐藏的目录/文件,维护只读属性,以及所有子目录,最重要的是,不提示输入。只需确保正确分配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%

而且,那就是人!

添加到您的预定任务,永不回头。

答案 11 :(得分:-2)

@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