Robocopy是在Windows上批量复制文件的最可靠且功能最丰富的方法.但是,它是一个命令行工具.
我正在寻找一个库/ API,我可以在我的程序中做同样的事情.我尝试使用Process.Start(),但后来我必须捕获并解析stdout的进度条,无法覆盖覆盖行为.
例如,在委托函数上排除文件库; 重命名文件,如果它更旧; (重新)根据某些事件开始复制.
我想复制,xcopy,递归复制等等,应该是程序员重新发明的最频率轮.我错过了任何API /库吗?
有谁知道如何用Robocopy排除.svn文件夹?我想复制所有文件夹,但我想阻止复制svn创建的subversion文件夹.
有什么想法吗?
提前致谢.
这是我做的一些代码:)
@echo off
set source="R:\Contracts\"
set destination="R:\Contracts\Sites\"
ROBOCOPY %source% %destination% *.srt *.pdf *.mp4 *.jpg /COPYALL /R:0 /S
for /r %source in (*) do @copy "%destination" .
Run Code Online (Sandbox Code Playgroud)
R:\ Contracts \中包含文件夹,其中包含文件.
我想将所有内容复制到R:\ Contracts\Sites \并展平文件夹结构.
一切都很好,但文件夹结构也很好.
谢谢
一个服务正在许多服务器上运行,在某些机器上,我需要另一组插件而不是其他机器上的服务.
在所有这些主机上,已经存在该主机所需的一些插件文件的文件夹.现在我需要从一个单一来源更新这些.
重要的是,robocopy只复制来自服务器上文件夹中已有文件的文件,而不是任何其他文件.
我认为/ XX标志会这样做,但它对我不起作用.
这是我使用的命令:
robocopy <src> <dst> /E /XX /NP
Run Code Online (Sandbox Code Playgroud)
什么命令对我来说是正确的?
编辑:好的,德语翻译有点糟糕.robocopy的原始英文帮助告诉我到底要使用什么:
/XL : eXclude "Lonely" files and dirs (present in source but not destination)
This will prevent any new files being added to the destination.
Run Code Online (Sandbox Code Playgroud)
(在德语翻译中,非常有用的部分"存在于源但不是目的地"被遗漏)
Robocopy将以高于0的代码退出,但仍可能不是失败.PSake检测到0以上的任何内容为失败并且无法构建.这很好,但是为什么这仍然失败:
task Deploy {
robocopy $source $dest /NP /S /XO /NFL /NDL /NJH /NJS | Out-Default
if ($lastexitcode -eq 3)
{
Write-Host "Got Here"
$lastexitcode = 0
}
Write-Host "Deploy local complete"
Write-Host $lastexitcode
}
TaskTearDown {
if ($LastExitCode -ne 0) {
write-host "Build failed"
exit 1
}
}
Run Code Online (Sandbox Code Playgroud)
我可以验证Deploy if语句是否被命中,Write-Host输出0正确,但TaskTearDown仍然检测到最后一个退出代码为3!我该如何解决?
我正在尝试每隔一小时将文件从服务器复制到另一台服务器作为正在创建的文件.我使用Robocopy复制文件,它非常有用.但现在我真的被这个困住了.我需要复制MINAGE值为min的文件,就像这样.
如果我在下午2点之后运行robocopy,我应该只能复制在下午2点之前创建的文件
Robocopy MAXAGE和MINAGE只接受日期而不是时间.
任何建议
我有robocopy的问题.我想用它来备份系统光盘,我想排除一些系统文件夹.但它仍在尝试复制其中一些文件夹.我的批处理文件是这样的:
robocopy c:\ l:\C\ /r:1 /w:1 /mir /dcopy:T /xjd /xjf /xj /copy:DT /log+: l:\RobocopyLogC.txt /xf "desktop.ini" /xd "$Recycle.Bin" /xd Config.Msi /xd MSOCache/xd Recovery /xd "System Volume Information" /xd Windows /xd "Program Files\Common Files" /xd "Program Files\Internet Explorer" /xd "Program Files\Reference Assemblies" /xd "Program Files\Uninstall Information" /xd "Program Files\Microsoft Analysis Services" /xd "Program Files\Microsoft Mouse and Keyboard Center" /xd "Program Files\Microsoft Office" /xd "Program Files\Microsoft Silverlight" /xd "Program Files\MSBuild" /xd "Program Files\Windows Defender" /xd "Program Files\Windows Journal" /xd "Program Files\Windows Mail" …Run Code Online (Sandbox Code Playgroud) 我有两个驱动器 A 和 B。使用 python 脚本,我在“A”驱动器中创建一些文件,并运行 powerscript,该脚本以 1 秒的间隔将驱动器 A 中的所有文件复制到驱动器 B。
我在 powershell 中收到此错误。
2015/03/10 23:55:35 ERROR 32 (0x00000020) 时间戳目标文件 \xxxx\share1\source\ Dummy_100.txt 该进程无法访问该文件,因为该文件正被另一个进程使用。等待30秒...
我将如何克服这个错误?
我有几个任务使用Robocopy.exe,在其中一个任务中,我得到一个错误结果,0X3但日志文件没有显示任何错误。这是命令:
ROBOCOPY \\X\L$\FORMATION \\Y\O$\FORMATION /MIR /sec /W:2 /R:5 /log:c:\O_journal.log
Run Code Online (Sandbox Code Playgroud)
我试图在没有任务调度程序的情况下启动它,它运行良好,没有出现蚂蚁错误。
我知道错误0X3是:ERROR_PATH_NOT_FOUND。但是日志文件没有显示任何错误。
如果有人有任何线索或任何方法......
因此,基本上我需要获取与任务计划程序中创建的任务关联的触发器详细信息。

所以,基本上我想要在这个触发窗口中设置这些信息,例如每日或每周和重复任务持续时间以及持续时间等。
现在我能够得到以下信息。
Name : LastTaskResult
Value : 0
CimType : UInt32
Flags : Property, ReadOnly, NotModified
IsValueModified : False
Name : NextRunTime
Value : 23-09-2015 11:26:56
CimType : DateTime
Flags : Property, ReadOnly, NotModified
IsValueModified : False
Name : NumberOfMissedRuns
Value : 0
CimType : UInt32
Flags : Property, ReadOnly, NotModified
IsValueModified : False
Name : TaskName
Value : test_Task
CimType : String
Flags : Property, Key, NotModified
IsValueModified : False
Name : TaskPath
Value :
CimType : String …Run Code Online (Sandbox Code Playgroud)