复制用户使用的子文件夹的Robocopy

问题描述 投票:0回答:2

我想给Normal.dotm从所有用户的C:\Users\%username%\AppData\Roaming\Microsoft\TemplatesC:\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\永远

cmd robocopy
2个回答
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%"
)

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!\"
    )
)

那当然,需要管理员权限,你不能没有管理员权限进入其他用户的目录。在你的文件单击鼠标右键,选择“以管理员身份运行”。

© www.soinside.com 2019 - 2024. All rights reserved.