问题标签 [robocopy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3423 浏览

ssis - Robocopy、多行执行进程 SSIS 任务或将批处理文件结果输出到 SSIS

我需要在 SSIS 包中将文件从一个位置复制到另一个位置。由于该文件夹位于另一个域中,因此我需要在运行 robocopy.exe 命令之前模拟另一个帐户。我发现我可以执行“net use”命令来模拟必要的用户帐户,然后立即执行 robocopy 命令。我在执行进程命令中看不到任何直接执行此操作的方法,因此我使用执行进程任务来运行一个批处理文件,该批处理文件将这两个命令作为单独的行。这种方法的缺点是我无法读取 Execute Process 命令的结果。所以这让我想到三个问题:

  1. 有没有办法在单个执行进程任务中执行多行命令?
  2. 有没有办法在一行中模拟另一个帐户时执行 robocopy.exe?
  3. 有没有办法将批处理文件的结果写回 SSIS 中的变量或 SSIS 数据库日志?

如果上述三个问题中的任何一个都有肯定的答案,那么我也许可以根据 robocopy 命令的结果想出一种添加作业成功或失败规则的方法。

0 投票
1 回答
5088 浏览

python - Robocopy 错误代码 6 ''句柄无效'

我编写了一个 python 脚本,它使用子进程调用 robocopy 来同步来自远程主机的日志文件。

像这样:

其中 source_path 是远程主机上的路径,local_path 是本地主机上的路径(两个 UNC 路径)。代码通常在守护进程中运行,每隔几个小时就会启动一次。也可以直接在命令提示符下运行此代码。似乎有时当它在守护进程中运行时,我会从 Robocopy 收到错误消息:

错误代码 6:“句柄无效”

但是当我在命令提示符下运行它时,我没有收到任何错误。根据我在网络搜索中的发现,这可能与正在传输的文件上已经打开的文件句柄有关。有没有人有关于这个错误的更多信息以及避免它的方法?

0 投票
3 回答
2175 浏览

svn - robocopy 命令

我正在使用 robocopy 的 /MIR 命令将源文件从 MKS 沙箱复制到 SVN 工作副本,然后我提交到 svn 存储库。这个过程是必要的,因为我们正在将源代码控制工具从 MKS 更改为 Subversion。

现在的问题是 1) 我不能使用 robocopy \mir 命令,因为 robocopy /MIR 逗号会擦除目标目录中不再位于源目录中的文件/文件夹。它从 SVN 工作副本中删除所有 .svn 目录,之后,我们无法执行除 svn checkout 之外的任何命令。2) 我需要在 MKS_path 中递归过滤一些文件和文件夹,我使用了 /XF 和 /XD,但它从顶层过滤了这些文件和文件夹。

请建议我如何将 mks 源代码复制到 SVN 路径,不包括递归的文件和文件夹。

0 投票
1 回答
741 浏览

c#-3.0 - xcopy 是否会暂停直到复制完成?

对于像这样的 C# 控制台应用程序,使用 xcopy 还是 robocopy 更好?另外, xcopy 是否会暂停直到复制完成?

0 投票
1 回答
5810 浏览

cruisecontrol.net - Windows 2003 的 Robocopy 不支持 /DST 选项

有谁知道是否可以下载适用于 Windows 2003 的最新 robocopy。最新版本提供了 /DST 选项,它忽略了由于 BST(英国夏令时)而更改的时间戳。每次我们在 +1/-1 小时内进行构建和同步我们的服务器时,都需要数小时而不是数分钟,因为它认为一切都发生了变化。

我注意到它自动包含在 Vista/Win7 中,但我下载的资源工具包不包含用于 Win Server 2003 的新版本的 robocopy。如果有地方可以下载它,它是否也可以在 Windows Server 2003 上运行?

谢谢。

0 投票
2 回答
14093 浏览

vbscript - Robocopy - 比较文件的修改日期?

我一直在尝试创建这个脚本,它基本上反映了两组文件夹及其内容(包括子文件夹),但只复制比已经存在的文件更新的文件。我尝试通过编写一个 vbscript 来做到这一点,但事实证明我需要手动扫描每个子文件夹,然后是它的内容。然后是那个子文件夹的内容等等。

所以我想知道是否有人知道这是否可以用 Robocopy 完成?

0 投票
2 回答
1236 浏览

vbscript - Vbscript - 创建一个镜像多组文件夹的脚本

好的,这是我的问题。我正在做一个登录脚本,它基本上将 Microsoft Word 模板从服务器路径复制到每台计算机的本地路径。这是通过检查组成员身份来完成的。

之前我使用了robocopy的/MIR开关,非常棒。但是,如果用户是多个组的成员,则 /MIR 开关会从第一个组中删除内容,因为它正在镜像第二个组中的内容。意思是,我不能同时拥有这两个内容。

这可以通过不使用 /MIR 开关来“解决”,而只是让内容被复制。但是将模板放在服务器上的整个想法是让我可以控制用户通过脚本接收的内容。因此,如果我从服务器路径中删除文件或文件夹,则不会在本地计算机上复制。因为我不再使用 /MIR 开关了。理解?

那么,我该怎么办?我做了一个小脚本,基本上检查文件夹和文件,然后相应地删除它们,但这实际上最终与 /MIR 开关具有相同的功能。我该如何解决这个问题?

编辑:我发现我真正需要的是一个例程,它扫描我的本地模板文件夹中的文件和文件夹,并检查任何源模板文件夹中是否存在相同的结构。

服务器模板文件夹设置如下:

进行复制的脚本是这样的结构(伪):

等等 使用 /E 开关,我确保它也复制子文件夹。并且 /XO 开关只复制比我的本地路径中的文件和文件夹新的文件和文件夹。但它不考虑本地路径是否包含服务器模板路径上不存在的文件或文件夹。

因此,复制完成后,我想检查我的 c:\templates\workgroup 上的任何文件或文件夹是否确实存在于任一源中。如果他们不这样做,请将它们从我的本地路径中删除。也许可以在这些成员检查中组合一些东西?

0 投票
2 回答
3239 浏览

sql - 数据库备份 Robocopy

我有每 15 分钟运行一次的作业,它使用 robocopy 将事务日志的备份复制到不同的服务器。此作业失败 USER 对主文件夹和目标文件夹具有完全访问权限。

作业 SQL:

robocopy "e:\Backup\SQL02$PROD" "\SERVER\DRIVE$\prod\sql\backup\" /MIR /E /Z /NS /NFL /NDL /NJH /NP /R:10 /W:30 如果%errorlevel% LSS 8 设置错误级别=0

错误日志:

日期 22/06/2010 09:05:00 记录作业历史记录(将生产备份同步到 app040)

步骤 ID 1 服务器 NDAHHSQL02\PRODUCTION 作业名称同步生产备份到 app040 步骤名称 robocopy 生产持续时间 00:00:00 Sql Severity 0 Sql Message ID 0 Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0

以用户身份执行的消息:DOMAIN\USER。2010/06/22 09:05:00

错误 5 (0x00000005) 获取目标文件系统类型 \\SERVER\DRIVE$\prod\sql\backup\ 访问被拒绝。

2010/06/22 09:05:00 错误 5 (0x00000005) 创建目标目录 \\SERVER\DRIVE$\prod\sql\backup\ 访问被拒绝。处理退出代码 16。步骤失败。

0 投票
2 回答
2330 浏览

file - Robocopy 过滤器不起作用?

您好我正在尝试使用 robocopy 通过网络将单个文件从我的计算机复制到另一台计算机。我要复制的文件名为 setup.exe,它所在的目录也有一个名为“setup”的目录。我只想复制可执行文件,所以我尝试在列出文件名的末尾对 robocopy 命令应用过滤器。然而,尽管有过滤器,它最终还是复制了可执行文件和目录。显然 robocopy 忽略了文件扩展名???

这是我的 robocopy 命令的格式:

robocopy c:\users\ben\desktop /E /Z \\BensRemote\c$\temp setup.exe

所以最后的过滤器应该防止安装目录也被复制,但事实并非如此。我究竟做错了什么?是 /E 参数吗???

0 投票
3 回答
7378 浏览

cmd - 使用 SQL Server 的 Robocopy 文件传输备份

我有一个运行 robocopy 的工作,将文件从 SQL 服务器复制到备份驱动器。

该作业运行 CmdExec 类型的作业以调用运行 robocopy 的批处理文件。我的问题是,虽然文件复制得很好,但错误报告没有得到注册,我通过将源文件更改为伪造的驱动器对此进行了测试。它仍然报告工作成功。我已将其缩小到仅看到 robocopy 并且当它运行该工具时报告成功。例如,如果我只在批处理文件中输入“robocopy”,它仍然会报告成功。

这是我正在运行的代码,试图在发生合法错误时导致错误:

robocopy "C:\backup\" "D:\backup" SET /A errlev="%ERRORLEVEL & 24%" EXIT /B %errlev%

有什么想法吗?