标签: xcopy

用于复制大量文件的XCopy的替代方案?

情况:我有一台笔记本电脑.其中一件令人疲惫不堪的事情就是电池没电了,电源线很容易从后面拉出来.

我最近收到了一台非便携式笔记本电脑,我正在复制从旧到新的所有内容.我正在尝试从旧机器到外部硬盘驱动器xcopy c:*.*,但由于线缆频繁拉出,xcopy经常被中断.

我需要的是XCopy中的一个开关,它将复制除目标文件夹中已存在的文件之外的其他内容 - 与/ U开关的行为完全相反.

有谁知道这样做的方法?

xcopy

5
推荐指数
2
解决办法
2万
查看次数

为什么xcopy在使用这些参数时不能复制文件?

我有一个简单的xcopy脚本,我从命令行运行,它读取目录和文件名的CSV文件.我之前使用过非常相似的脚本而没有任何问题.这是脚本:

Z:\HOME\>for /f "delims=, tokens=1,2,3,4" %i in (Z:\HOME\MissingImages.csv) do
echo f | xcopy "Y:\%j\%k\%l" "C:\Horizon\%j\%k\%l" >> Z:\HOME\MissingImagesLog.txt
Run Code Online (Sandbox Code Playgroud)

但是,它不会复制任何文件.这是日志文件中的条目:

Does C:\Horizon\K\00\6bef500f.IMG  specify a file name
or directory name on the target
(F = file, D = directory)? f
0 File(s) copied
Run Code Online (Sandbox Code Playgroud)

它正在查找图像,因为如果我将根目录更改为其他内容,脚本将只0 File(s) copied为所有条目填充日志文件,因此文件在那里可以看到...

此外,Z:\驱动器在网络而不是本地,但我再次在网络上使用非常相似的脚本没有问题(它只需要更长的时间).

我尝试过不同的选项,比如/i,/s等等,但我似乎无法将其复制到任何文件中.

windows cmd xcopy

5
推荐指数
2
解决办法
2万
查看次数

如何从列表中删除文件?

我有一个使用哈希算法来组织文件的文件系统.我过去曾使用xcopy通过传入一个文件来复制文件到另一个位置,该文​​件包含所有文件的列表并让它遍历它.该脚本类似于以下内容:

for /f "delims=, tokens=1,2,3" %i in (D:\foo.csv) 
do echo F | xcopy /i /d "Z:\%i\%j\%k" "Y:\%i\%j\%k" >> "D:\xcopy\Log.txt"
Run Code Online (Sandbox Code Playgroud)

但是,现在我遇到的情况是,除了复制文件中提供的foo.csv文件之外,我还希望它们也被删除.我查看了xcopy文档,找不到任何内容.有没有我可以做到这一点,即使我必须运行另一个脚本来浏览相同的文件列表并在使用xcopy后删除它们?

谢谢!

xcopy

5
推荐指数
1
解决办法
3124
查看次数

告诉XCOPY复制隐藏文件夹以及隐藏文件

我试图让XCOPY复制整个目录树及其所有文件,但是,其中一个目录路径包含一个隐藏文件夹,虽然您可以使用/ h parm来指定复制隐藏文件,但这似乎不是申请隐藏文件夹.我一直都在使用XCOPY的文档,似乎没有一个处理隐藏文件夹的文档.但也许有人知道不同?

`xcopy c:\profiles c:\aprofiles /r /e /h /v /y 
Run Code Online (Sandbox Code Playgroud)

除隐藏文件夹外,上述工作正常.我想我可以更改隐藏文件夹以使它们不被隐藏,但是有几百个.

xcopy dos

5
推荐指数
2
解决办法
2万
查看次数

使用xcopy进行并行复制

我需要将多个目录从一个位置复制到另一个位置.因此,将会有多个xcopy声明,一个接一个.

每个文件夹中的文件数量都很大.有没有办法可以xcopy并行运行这些语句?我能想到的一个选项是 - xcopy在一个单独的批处理文件中调用每个选项,并使用@start而不是调用这些批处理文件@call.

还有其他选择吗?

command xcopy dos batch-file

5
推荐指数
1
解决办法
7341
查看次数

使用 MsBuild 进行 xcopy

我有一个非常简单的构建脚本,如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Bundle">

<ItemGroup>
    <BuildArtifacts Include="..\_buildartifacts" />
    <Application    Include="..\_application" />
</ItemGroup>

<Target Name="Clean">
    <RemoveDir Directories="@(BuildArtifacts)" />
    <RemoveDir Directories="@(Application)" />
</Target>

<Target Name="Init" DependsOnTargets="Clean">
    <MakeDir Directories="@(BuildArtifacts)" />
    <MakeDir Directories="@(Application)" />
</Target>

<Target Name="Bundle" DependsOnTargets="Compile">
    <Exec Command="xcopy.exe %(BuildArtifacts.FullPath) %(Application.FullPath) /e /EXCLUDE:$(MSBuildProjectDirectory)\files_to_ignore_when_bundling.txt" WorkingDirectory="C:\Windows\" />
</Target>
Run Code Online (Sandbox Code Playgroud)

问题是 Bundle 目标,只有%(BuildArtifacts.FullPath)提取的内容%(BuildArtifacts.FullPath)在脚本执行时被忽略。

执行时命令如下所示:

xcopy.exe C:\@Code\blaj_buildartifacts /e /EXCLUDE:C:\@Code\blaj\files_to_ignore_when_bundling.txt" exited with code 4

如您所见,目标路径不存在,如果我对路径进行硬编码或仅对目标路径进行硬编码,则一切正常。关于我在这里做错了什么有什么建议吗?

更新 我设法解决了问题,我删除了最后一部分WorkingDirectory="C:\Windows\" 并将脚本更改为:

<Exec Command="xcopy.exe @(BuildArtifacts) @(Application) /e /EXCLUDE:$(MSBuildProjectDirectory)\files_to_ignore_when_bundling.txt" />
Run Code Online (Sandbox Code Playgroud)

现在它可以工作了:)

msbuild xcopy msbuild-4.0

5
推荐指数
1
解决办法
8465
查看次数

合并一个txt文件中所有子目录中的所有.txt文件

我想将我的目录(包含子目录)中的所有.txt文件的内容合并到一个txt文件中.我需要这样做:

xcopy text1.txt + text2.txt text3.txt
Run Code Online (Sandbox Code Playgroud)

但是在一个for循环中,它接受当前目录中的所有文本文件.我假设这样的事情:

for \r ___ in ___ do copy list.txt
Run Code Online (Sandbox Code Playgroud)

提前致谢.

merge text xcopy batch-file

5
推荐指数
1
解决办法
6287
查看次数

xcopy通配符源文件夹名称到目标

我想从通配符源文件夹复制到目标文件夹:

xcopy a:\parentfolder\n* x:\parentfolder
Run Code Online (Sandbox Code Playgroud)

因此,仅应将以“ n”开头的文件夹复制到目标位置。

任何帮助使这项工作将不胜感激。

cmd xcopy wildcard batch-file

5
推荐指数
1
解决办法
2万
查看次数

在 Visual Studio 生成后事件中复制文件

我想在构建过程成功后以给定的文件扩展名递归复制所有文件。

机器人复制

ROBOCOPY %source% %destination% /S *.as?x *.xls? *.mrt
Run Code Online (Sandbox Code Playgroud)

复制

xcopy .\*.as?x %destination% /SY
xcopy .\*.xls? %destination% /SY
xcopy .\*.mrt %destination% /SY
Run Code Online (Sandbox Code Playgroud)

我试图在 Visual Studio 的后期构建部分中插入这两种可能性。RoboCopy 退出并出现错误:错误 1 ​​命令“ROBOCOPY source destination /S *.as?x *.xls? *.mrt”退出,代码为 1。某些文件已复制但复制到错误的文件夹 (_PublishedWebsites)。

xcopy 也会复制到错误的目录 (_PublishedWebsites) 并且也不会复制所有文件。

在命令行中,这两个命令都按预期工作。

更新

我已经更新了我的 robocopy 命令:

ROBOCOPY $(MSBuildProjectDirectory) $(MSBuildProjectDirectory)\..\..\..\EDP\Web\Modules\Invoice\Web /S *.as?x *.xls? *.mrt
Run Code Online (Sandbox Code Playgroud)

现在文件被复制到正确的位置,但 robocopy 的返回码导致 Visual Studio 错误。

这里的帮助下,解决这个

call ROBOCOPY $(MSBuildProjectDirectory) $(MSBuildProjectDirectory)\..\..\..\EDP\Web\Modules\Invoice\Web /S *.as?x *.xls? *.mrt
if %errorlevel% leq 1 exit 0 else exit %errorlevel%
Run Code Online (Sandbox Code Playgroud)

首选方案 …

xcopy robocopy post-build-event visual-studio-2013

5
推荐指数
0
解决办法
3771
查看次数

测试 IF 文件存在,ELSE xcopy 这两个文件

大家早。

所以我花了几个小时试图拼凑 - 对其他帖子的各种回复 - 到我自己的代码中,以查看我是否可以获得可用的东西。不去。我已经完全迷失在酱汁中了,所以我现在必须向你寻求帮助。

背景:操作系统:Windows 10 我每天晚上使用程序 text2folders.exe 在辅助驱动器上创建 20-30 个新文件夹。首先,我有一个基本文件“aGallery-dl.bat”,我使用 xcopy 批处理文件填充每个文件夹。其次,我不时使用相同的 xcopy 更新源文件“aGallery-dl.bat”,这会覆盖旧的目标文件,用最新的“aGallery-dl.bat”填充所有文件夹(无论他们是否需要) )。一切都很好。

@echo off
for /D %%a in ("U:\11Web\gallery-dl\deviantart\*.*") do xcopy /y /d ".\aGallery-dl.bat" "%%a\"
Run Code Online (Sandbox Code Playgroud)

我最近决定向每个文件夹添加两个新文件,并扩展了我的 xcopy 以包含这些文件。一切都很好。

@echo off
for /D %%a in ("U:\11Web\gallery-dl\deviantart\*.*") do xcopy /y /d ".\aGallery-dl.bat" "%%a\"
for /D %%a in ("U:\11Web\gallery-dl\deviantart\*.*") do xcopy ".\Folder.jpg" "%%a\"
for /D %%a in ("U:\11Web\gallery-dl\deviantart\*.*") do xcopy ".\Folder2.jpg" "%%a\"
Run Code Online (Sandbox Code Playgroud)

Folder.jpg 一个大红X

Folder2.jpg 一个大黄!标记

当我选择在给定文件夹中运行“aGallery-dl.bat”(同样是 100 个文件夹之一)时,它首先删除 Folder.jpg,然后将 Folder2.jpg 重命名为 Folder.jpg。这具有将红色 X 替换为黄色的效果!在文件资源管理器父文件夹中查看文件夹时。其次,它调用“gallery-dl.exe”。我使用从红色变为黄色来让我知道我至少运行过一次“aGallery-dl.bat”。一切都很好。 …

testing if-statement xcopy batch-file

5
推荐指数
1
解决办法
527
查看次数