【发布时间】:2026-01-24 03:55:01
【问题描述】:
我想使用 .txt 文件将所选文件夹和内容(子文件夹和文件)从源目录移动到目标目录以读入所选文件夹名称。
我尝试过从多台机器上运行。
我已尝试获取文件夹和文件的所有权。
我已尝试将完全控制权授予“所有人”。
我删除并重新创建了 src 和 dst 文件夹和内容。
我尝试删除“/MOVE /E”之后的所有额外选项。
gc "C:\testText.txt" | % { robocopy "C:\testSrc" "C:\testDst"
$_ /MOVE /E /R:3 /W:15 /MT:128 /log+:C:\log.txt /v /tee }
我希望此脚本从 .txt 文件中读取我想要从源目录移动到目标目录的选定文件夹(连同它们的内容和时间戳)的文件夹名称。
脚本只复制文件夹和子文件夹,而不是文件。也不是删除源数据,但我想这与无法复制文件的原始问题有关。
testText.txt 内容(这些是位于源目录中的文件夹的名称):
0000003000
0000003001
0000003002
日志输出(testText.txt 中列出的每个文件夹的输出相同):
开始时间:2019 年 5 月 8 日,星期三 12:33:27 PM 来源:C:\testSrc\ 目标:C:\testDst\
Files : 0000003000
选项:/V /TEE /S /E /DCOPY:DA /COPY:DAT /MOVE /MT:128 /R:3 /W:15
Total Copied Skipped Mismatch FAILED Extras
Dirs : 4 4 1 0 0 0
Files : 0 0 0 0 0 0
Bytes : 0 0 0 0 0 0
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Ended : Wednesday, May 8, 2019 12:33:27 PM
【问题讨论】:
-
[1] 日志中有什么内容? [2] 您通过管道传输到 robocopy 调用的文件中有什么内容?
-
在我的帖子中添加了请求的信息。
-
其实我只是注意到日志在 Skipped 列中有 '1',通常显示为 '4'
-
您的命令告诉 robocopy 使用 文件夹 作为文件规范。那不管用。 3 个主要选项是
source dir、dest dir和file specification。您不能为第三个选项使用文件夹名称。 [咧嘴] -
你知道,我实际上也在想同样的事情,但不确定,因为日志表明它识别出它们是目录并无论如何都复制了它们。但我猜这个选项不具备递归的能力,因为它是为文件构建的。你对这项任务有什么建议吗? ForEach-Object 循环?
标签: powershell robocopy