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