Cmd 使用Robocopy复制用户子文件夹
我正在尝试将Normal.dotm从所有用户的C:\Users\%username%\AppData\Roaming\Microsoft\Templates复制到C:\Temp\%username%。作为SCCM任务序列的一部分,我特别尝试在重新安装之前备份数据。有什么想法吗 我用robocopy尝试了几个不同的脚本,它要么陷入循环,要么只复制一个目录Cmd 使用Robocopy复制用户子文件夹,cmd,robocopy,Cmd,Robocopy,我正在尝试将Normal.dotm从所有用户的C:\Users\%username%\AppData\Roaming\Microsoft\Templates复制到C:\Temp\%username%。作为SCCM任务序列的一部分,我特别尝试在重新安装之前备份数据。有什么想法吗 我用robocopy尝试了几个不同的脚本,它要么陷入循环,要么只复制一个目录 robocopy C:\Users\%username%\AppData\Roaming\Microsoft\Templates\. C:\Te
robocopy C:\Users\%username%\AppData\Roaming\Microsoft\Templates\. C:\Temp\%username% /s /create
仅复制目录cmd以以下方式运行:
robocopy C:\Users\ C:\Temp\ /s /xjd normal.dotm
创建循环并创建C:\Users\Application\Data\Application Data\forever您可以使用不同的方式: @回音 setlocal EnableDelayedExpansion 对于/R C:\Users\%A,在Normal.dotm中 设置fpath=%%~fA 如果不是!fpath:\AppData\Roaming\Microsoft\Templates\=!=!fpath! rem查找用户名: 对于%%A do中的/F代币=3个delims=\%%B 设置当前用户名=%%B rem复制文件: 复制fpath!C:\Temp\!当前用户名\
当然,这需要管理员权限,没有管理员权限,您无法进入其他用户目录。右键单击文件并选择“以管理员身份运行”。运行此文件的帐户必须是管理员才能访问每个人的目录。当您认为正在创建正确的命令时,请从命令中删除小写回显
@ECHO OFF
FOR /F "delims=" %%f IN ('DIR /S /B "C:\Users\Normal.dotm"') DO (
SET "TDIR=C:\temp%%~pf"
IF NOT EXIST "%TDIR%" (echo MKDIR "%TDIR%")
echo COPY "%%~f" "%TDIR%"
)
我只是认为用户只想将Normal.dotm文件复制到C:\Temp\username,而不是整个结构。不能保证只有一个1 Normal.dotm文件。只有Normal.dotm文件将被复制到目录结构中。子目录结构不需要很大的存储空间。