powershell - Robocopy 在保留时间戳的同时使用 .txt 文件输入移动选择文件夹和内容
问题描述
我想使用 .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
解决方案
这有效。
foreach($line in
[System.IO.File]::ReadLines("C:\testText.txt")) {
robocopy "C:\testSrc\$line" "C:\testDst\$line" /MIR /DCOPY:T /E /R:3 /W:15
/MT:128 /log+:C:\Log.txt /v /tee
rm -R "C:\testSrc\$line"
}
推荐阅读
- java - 如何在 Spring MVC 2.5 项目中使用 MockMvc?
- python - 如何使用 Python 将双交替语言音频剪辑转换为文本?
- java - 从图库中选择图像会出现错误 Android N
- javascript - 来自 rtm.start 的 wss url 给出了无法创建连接错误
- laravel - Vue router.push:如何检查组件或内容是否已加载?
- python - 如何将 Python 多级字典转换为元组?
- javascript - Javascript addEventListener 异常
- sql-server - 如何使用正则表达式识别存储过程名称?
- python - TensorFlow 导入期间 DLL 加载失败
- javascript - xhr.onload 在 android 中太慢了