我正在尝试将Normal.dotm
从所有用户的C:\Users\%username%\AppData\Roaming\Microsoft\Templates
复制到C:\Temp\%username%
。作为SCCM任务序列的一部分,我专门尝试在重新安装之前备份数据。有什么想法吗?
我使用robocopy尝试了几种不同的脚本,它要么陷入循环,要么仅复制一个目录。
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\
答案 0 :(得分:1)
运行此帐户的帐户必须是管理员才能访问每个人的目录。如果您确信创建了正确的命令,请从中删除小写的echo
。
@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%"
)
答案 1 :(得分:0)
您可以使用其他方式:
@echo off
setlocal EnableDelayedExpansion
for /R "C:\Users\" %%A IN (Normal.dotm) do (
set "fpath=%%~fA"
if not "!fpath:\AppData\Roaming\Microsoft\Templates\=!" == "!fpath!" (
rem Find username:
for /F "tokens=3 delims=\" %%B IN ("%%A") do (
set "current_username=%%B"
)
rem Copy files:
copy "!fpath!" "C:\Temp\!current_username!\"
)
)
那当然需要管理员特权,如果没有管理员特权,您不能进入其他用户目录。右键单击您的文件,然后选择“以管理员身份运行”。