我想使用.txt文件将选择的文件夹和内容(子文件夹和文件)从Source目录移动到Destination目录,以读入选择的文件夹名称。
我尝试从多台计算机上运行。
我尝试获取文件夹和文件的所有权。
我尝试将“所有人”的控制权全部授予。
我删除并重新创建了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
答案 0 :(得分:0)
这有效。
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"
}