我正在尝试将robocopy
单个文件从一个位置传输到另一个位置,但robocopy
似乎认为我总是在指定一个文件夹。下面是一个例子:
robocopy "c:\transfer_this.txt" "z:\transferred.txt"
Run Code Online (Sandbox Code Playgroud)
但是我收到了这个错误:
2009/08/11 15:21:57 ERROR 123 (0x0000007B) Accessing Source Directory c:\transfer_this.txt\
Run Code Online (Sandbox Code Playgroud)
(注意\
末尾的transfer_this.txt
)
但如果我把它当作一个完整的文件夹:
robocopy "c:\folder" "z:\folder"
Run Code Online (Sandbox Code Playgroud)
它有效,但随后我必须传输文件夹中的所有内容。
我怎样才能只传输一个文件robocopy
?
我正在尝试在 powershell 中使用 robocopy 来镜像我家用机器上的一些目录。这是我的脚本:
param ($configFile)
$config = Import-Csv $configFile
$what = "/COPYALL /B /SEC/ /MIR"
$options = "/R:0 /W:0 /NFL /NDL"
$logDir = "C:\Backup\"
foreach ($line in $config)
{
$source = $($line.SourceFolder)
$dest = $($line.DestFolder)
$logfile = $logDIr
$logfile += Split-Path $dest -Leaf
$logfile += ".log"
robocopy "$source $dest $what $options /LOG:MyLogfile.txt"
}
Run Code Online (Sandbox Code Playgroud)
该脚本接收一个包含源目录和目标目录列表的 csv 文件。当我运行脚本时,我收到以下错误:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Sat Apr 03 21:26:57 2010
Source : P:\ C:\Backup\Photos \COPYALL \B …
Run Code Online (Sandbox Code Playgroud) 使用 robocopy 将文件复制到新驱动器后,我意识到所有文件和目录创建时间都已重置为复制时间。
是否有一些开关可以让 robocopy 保留原始文件的时间?
简单任务:
将目录的所有内容移动c:\Users\files\Desktop\test 2
到c:\Users\files\Desktop\test 1
C:\admin\temp>robocopy "c:\Users\files\Desktop\test 2" "c:\Users\files\Desktop\test" *.* /S /MOVE
Run Code Online (Sandbox Code Playgroud)
听起来很合理,但现在,该目录也c:\Users\files\Desktop\test 2
被删除了。是否有一个开关可以只移动内容而不删除目录本身?
我们正在使用 Robocopy 重新分发通过 FTP 到达放置文件夹中的文件。理想情况下,我们希望 Robocopy 保留文件,如果它们仍然是 FTPd。
尝试了各种开关后,Robocopy 仍然复制打开的文件。它不会删除它们,因此 FTP 继续不受影响。但是,我们最终会将截断的文件分发到它们的目的地。
可以让 Robocopy 跳过打开的文件吗?
也许有比 Robocopy 更适合这项任务的东西?
RoboCopy 的工作选项有什么作用?/MON
和/MOT
开关究竟是做什么的?我该如何使用它们?我不理解它们,也找不到有关如何使用它们的任何示例。
- /MON:n - 监视器源;当看到超过 n 个变化时再次运行。
- /MOT:m - 监听源;再次运行 m 分钟 时间,如果更改。
这是否意味着它会先运行一次,然后在完成后继续运行,如果文件结构中某处发生更改或某处发生更改并且时间过去了,则它会再次运行?
- /JOB:jobname - 从命名的 JOB 文件中获取参数。
- /SAVE:jobname - 将参数保存到指定的作业文件
- /QUIT - 处理命令行后退出(查看参数)。
- /NOSD - 未指定源目录。
- /NODD - 未指定目标目录。
- /IF - 包括以下文件。
什么是工作档案?什么是/NOSD
和/NODD
交换机呢?
我需要让 robocopy 排除路径包含具有特定名称的目录的任何文件。例如,“酒吧”:
c:\foo\bar\a.txt
c:\bar\c.txt
d:\baz\bar\flub\d.txt
Run Code Online (Sandbox Code Playgroud)
应该排除,但不排除
c:\foo\barf\b.txt
Run Code Online (Sandbox Code Playgroud)
以下是我尝试过的东西——每一个都被 robocopy 拒绝了:
/XD \bar\
/XD *\bar\*
/XD *^\bar^\*
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
让我先介绍一下背景。在 Linux 系统上,我经常依赖这样一个事实:只要我可以将所有文件从一个硬盘驱动器转移到另一个硬盘驱动器,并且只要我修复了引导加载程序,我就会得到一个相同的、可引导的、完全相同的功能系统。同样的事情适用于备份和恢复(不需要特殊的系统状态备份,只需要文件)......即使 MySQL有时也可以恢复,即使它在备份时没有被冻结
在 Windows 上,我从来没有通过在文件级别克隆系统而走运。我总是需要一个工具,如 VMWare Converter、Ghost、diXML 等。它们基于将驱动器的图像作为一个整体。起初我认为这主要是因为 Windows 注册表的特殊/神奇方式,我没有质疑它(它有效)。直到今天。我意识到这种想法很愚蠢,实际上Windows也只是一个文件的集合。因此,作为测试,我使用了一个脱机的 Windows 2003 服务器驱动器,我将文件复制到一个空白的硬盘驱动器,使驱动器处于活动状态,并且 .. 运行完美!
还是做到了?为什么我会因为它不像我对 Ghost 所期望的那样逐字复制而有这种非理性的恐惧,它会失败?我应该害怕吗?为什么这么容易?AD服务器有什么不同吗?有没有这种方法会失败的情况?
如果逐个文件复制是可行的方法,为什么当我尝试使用 VSS(将影子复制的 C: 驱动器暴露为 S: 驱动器)做同样的事情时,同样的方法失败了。更具体地说,我有一个引导系统一直到登录屏幕。它甚至接受了我的密码,但随后立即注销了我的用户,GUI 中没有错误。我什至尝试在复制之前关闭所有不可停止的服务......相同的结果。
顺便说一句,我正在使用robocopy /E /SEC
所有这些复制操作
我使用这些方法只是在寻找麻烦吗?我知道 Ghost 等已经被证明了……那为什么要重新发明轮子呢?......我明白了......但作为一名专业人士,我想知道为什么事情会这样运作。这就是为什么弄清楚这一点对我来说很重要。(更不用说在我从未进行过系统状态备份的系统上进行裸机还原的罕见可能性)
我正在两台服务器之间迁移 20TB 的文件。两个系统都是安装了最新更新的 Windows 2012R2。两者都使用千兆网络。
使用命令行在新服务器上使用 robocopy robocopy /S /ZB /MOVE /J /DCOPY:A /V /FP \\oldserver\shared\folder X:\folder
以大约 5-10MB/s 的速度复制。
使用资源管理器在服务器之间拖放文件产生大约 110MB/s 的速度,这是我预期的速度。
当文件共享和网络显然能够提供更快的速度时,我无法弄清楚为什么 robocopy 运行得如此缓慢。
我尝试过的事情:
/MT
开关,在大约相同的速度复制的数值1,4,8和16全部。有任何想法吗?
我们让用户运行 robocopy 命令来复制一些文件,但不幸的是用户不小心弄乱了语法。
就像是:
robocopy "\\server1\share\Accounting" \\server1\share\NewAccounting" /E /X /COPYALL /TEE
Run Code Online (Sandbox Code Playgroud)
如果没有在目标目录上正确引用,最终将 rocobopy 目标搞砸了,如下所示:
Started : Tue May 05 12:30:00 2015
Source : \\server1\share\Accounting
Dest : \\server1\share\NewAccounting \E \X \COPYALL \TEE\
Files : *.*
这最终会创建新的文件夹“E”、“X”、“COPYALL”、“TEE”,所有这些文件夹都没有 NTFS 安全性。
文件夹安全选项卡显示“请求的安全信息不可用或无法显示。” 并且您无法通过 Windows 资源管理器或普通命令行删除文件夹。
有问题的服务器恰好是 EMC Celerra CIFS 服务器。
任何想法如何清理它并删除无效的新目的地?
robocopy ×10
windows ×2
clone ×1
ghost ×1
ntfs ×1
permissions ×1
powershell ×1
timestamp ×1
vss ×1
windows-7 ×1