- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 robocopy 编写一个 powershell 脚本来从列表中复制“完整的”unc/文件名路径。我遇到的问题是 robocopy 似乎在我的源路径末尾添加了一个 \
。
我有一个 C:\temp\list.txt,其中列出了带有文件名的 UNC 路径示例:\server\folder\test.txt
我的代码
$Paths = Get-Content -Path C:\Temp\List.txt
ForEach ($p in $Paths) {robocopy $p "\\Server\path\path\"}
The error that powershell is throwing is :
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Monday, March 1, 2021 1:36:52 PM
Source : \\Server\path\path\test.xls\
Dest : \\Server\path\path\
Files : *.*
Options : *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
2021/03/01 13:36:52 ERROR 267 (0x0000010B) Accessing Source Directory
\\Server\path\path\test.xls\
The directory name is invalid.
有谁知道如何阻止 robocopy 在我的“源”位置末尾添加 \
?
感谢您的帮助。
最佳答案
我不确定“\”是不是你的问题。您使用的 Robocopy 命令格式不正确。指定源和目标后,应将文件指定为过滤器。
RoboCopy <SourceFolderPath> <DestinationFolderPath> <File1> <File2> ...
因此,您将不得不重新设计循环以从输入中剥离文件名并正确连接 Robocopy 命令,可能类似于:
$Paths = Get-Content -Path C:\Temp\List.txt
ForEach ($p in $Paths)
{
$Path = Split-Path -Path $p -Parent
$File = Split-Path -Path $p -Leaf
robocopy $Path "\\Server\path\path\" $File
}
来自 Robocopy.exe/?
:
Started : Monday, March 1, 2021 2:06:53 PM
Usage :: ROBOCOPY source destination [file [file]...] [options]
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
file :: File(s) to copy (names/wildcards: default is "*.*").
过滤器不必是准确的文件名,它们可以利用通配符如 *.xls
来帮助选择文件。我认为在您的情况下,您在某种程度上受到输入格式的限制。
$Paths = Get-Content -Path C:\Temp\List.txt
ForEach ($p in $Paths)
{
$Path = Split-Path -Path $p -Parent
$File = Split-Path -Path $p -Leaf
robocopy $Path "\\Server\path\path\"
}
如果您想复制子文件夹及其文件,有 3 个选项,再次引用帮助文件:
/S :: copy Subdirectories, but not empty ones.
/E :: copy subdirectories, including Empty ones.
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
警告:/MIR
可能很危险,因为它可以非常快速地删除目标中的内容。
即使您遍历子文件夹,过滤器也会应用。所以一定要调整或删除它。如果您想复制所选文件夹中的所有内容,只需删除过滤器即可,但从技术上讲,星号也可以。
我建议认真研究帮助文件。有不同的文件选择和复制选项值得了解。
关于powershell - RoboCopy 来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66427866/
我在 robocopy 中得到了如下所述的命令 ROBOCOPY 源目标 [文件…[文件]…..] [选项] 来源:源目录目的地:目的地目录文件:要复制的文件。 请告诉我们“\server\share
我一直很高兴使用 robocopy 将我的计算机备份到外部 USB 驱动器。这很棒,因为它只复制已更改/更新/新的文件。我可以将外部驱动器带到任何计算机上并查看它,就像它是计算机上的另一个驱动器一样。
我想在使用 Robocopy 日志时避免所有现有文件名和目标文件夹的详细信息。 只想显示复制的文件列表及其详细信息。 因此,我可以通过避免日志中现有的文件详细信息来节省 robocopy 日志文件的大
我得到了几个用于文件同步的旧版 bat 脚本。他们使用机器人复制。根据documentation ,默认有重试机制:一百万 重试, 30 秒 重试之间。 因此,如果我理解得很好,如果出现问题(例如目标
有一个脚本正在运行,它将一堆文件夹从一个卷镜像到另一个卷。问题是现在目标文件夹中的子目录不属于原始镜像脚本的一部分。它们是独立的子目录,一旦镜像开始,我不希望它们被清除。有没有办法让我使用 /xd在
在此先感谢您的帮助。 我正在使用 ROBOCOPY 将一些文件从驱动器复制到同一台计算机上的另一个驱动器。每隔一段时间,我就会出错。它没有重试 999 次,而是重试了一次但失败了。我有几个问题: 为什
有没有办法使用 robocopy 命令排除空文件(0 字节)的复制? 除了其他文件之外,我有一个包含数千个空文件的源,目标也具有相同的文件名但不为空。我想将除空文件之外的所有内容从源复制到目标。 最佳
使用 Robocopy 从一个来源复制到多个目的地是否可能且安全? 我的意思是,在 bat 文件中是这样的: ROBOCOPY source dest_1 ROBOCOPY source dest_2
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以使为on-topic。 6
是否有一种方法可以让 robocopy 将文件从一个目录复制到另一个目录并覆盖同名文件,以便目标目录包含较小的文件。 例如 dirA -- file1 (12Kb) -- file2 (2Kb)
这是我的脚本,用于移动超过一定天数的文件- mkdir F:\TempRemoval robocopy "F:\Example" "F:\TempRemoval" /move /e /minage:1
我在使用 robocopy 时遇到问题。我想用它来备份系统光盘,并且我想排除一些系统文件夹。但它仍在尝试复制其中一些文件夹。我的批处理文件是这样的: robocopy c:\ l:\C\ /r:1 /
如何将此 xcopy 命令转换为 Robocopy: xcopy *.* "C:\DestinationFolder\" 请记住,运行命令的当前文件夹会动态更改(因此源文件夹提前未知)。 谢谢。 最佳
对于通配符标志,我可以说只复制名称中同时包含 sp 和 MPK 的文件吗? $source = "D:\scripts\watcher\2015-007" $destination = "K:\pub
我正在用 robocopy 编写一个 powershell 脚本来从列表中复制“完整的”unc/文件名路径。我遇到的问题是 robocopy 似乎在我的源路径末尾添加了一个 \。 我有一个 C:\te
我很想知道是什么让 Robocopy(强大的文件复制)如此快速和强大。任何机构都知道用于 Robocopy 的 API/Algo 是什么?有人学过Robocopy吗? 我问是因为我必须编写一个方法(在
这是我制作的一些代码:) @echo off set source="R:\Contracts\" set destination="R:\Contracts\Sites\" ROBOCOPY %so
我们正在将文件从一个共享迁移到另一个共享。我们构建了一个工具,用户可以在其中选择要复制到目标共享的目录和/或单个文件。该工具为用户选择的集合中的每个文件或目录生成单独的 RoboCopy 命令。 如果
在某些Robocopy选项中,例如: /a+:[RASHCNET]-将指定的属性添加到复制的文件中。 /a-:[RASHCNET]-从复制的文件中删除指定的属性。 [RASHCNET]指的是什么属性?
我正在尝试完成我的批处理脚本,但在某些情况下它会失败。 这是我正在运行的命令: ROBOCOPY "C:\test\dash2\Hello - 4\" "C:\test\dash2\Hello - 4
我是一名优秀的程序员,十分优秀!