Robocopy 来自 list.txt

Robocopy 来自 list.txt

我有大量的用户目录,我需要将它们连同权限一起移动到另一个位置,我个人使用的命令是:

robocopy“\filer\home”“h:\UserHome”/E /SEC /Copy:DATSOU /log:c:\logfile.txt

有没有一种方法可以让 robocopy 指向测试文件中需要移动的目录列表,而不是像我目前所做的那样一个一个地进行移动。

答案1

创建一个名为directories.txt的文件:

C:\dir1
C:\dir2
C:\dir3
C:\dir4\subdir

然后编写一个名为RobocopyDirsFromList.ps1的Powershell脚本:

Foreach ($Directory In Get-Content .\directories.txt)
{
    robocopy "$Directory" "h:\UserHome" /E /SEC /Copy:DATSOU /log:c:\logfile.txt 
}

注意:我还没有测试过这个,请先测试一下。

答案2

您需要创建文件夹列表文件

复制此脚本并保存为 BAT/CMD 文件:

for /f "tokens=*" %%a in (list.txt) do robocopy "%_source%\%%a" "%_dest%\%%a" /E /SEC /Copy:DATSOU /log:c:\logfile.txt

相关内容