Robocopy Move Выбор папок и содержимого с использованием ввода TXT-файла при сохранении временных меток - PullRequest
0 голосов
/ 08 мая 2019

Я хочу переместить выбранные папки и содержимое (подпапки и файлы) из исходного каталога в каталог назначения, используя файл .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 Content (Это имена папок, находящихся в исходном каталоге):

0000003000
0000003001
0000003002

Вывод журнала (одинаковый вывод для каждой из папок, перечисленных в testText.txt):

Начало работы: среда, 8 мая 2019 г., 12:33:27 Источник: C: \ testSrc \ Dest: 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 Ответ

0 голосов
/ 09 мая 2019

Это работает.

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"

}
...