在每个用户配置文件上运行的批处理脚本

时间:2016-03-03 20:22:26

标签: windows batch-file

我正在尝试运行一个批处理脚本,用于将保存在其APPDATA目录中的用户Microsoft Office自定义复制到他们的桌面,我试图找到一种方法让我的脚本循环通过C:\ Users这样它就可以在给定计算机上的每个用户配置文件上运行,并将这些文件放在桌面上。

IF NOT EXIST "%USERPROFILE%\Desktop\Office365 Prep" mkdir "%USERPROFILE%\Desktop\Office365 Prep"
mkdir "%USERPROFILE%\Desktop\Office365 Prep\Signatures"
mkdir "%USERPROFILE%\Desktop\Office365 Prep\Dictonary"
mkdir "%USERPROFILE%\Desktop\Office365 Prep\Out Of office"
mkdir "%USERPROFILE%\Desktop\Office365 Prep\Ribbon Customizations"
mkdir "%USERPROFILE%\Desktop\Office365 Prep\Scripts_Config365"



robocopy "%APPDATA%\Microsoft\Signatures" "%USERPROFILE%\Desktop\Office365 Prep\Signatures" /e /np /mir /tee /log+:"\\serverName\log.txt"
robocopy "%APPDATA%\Microsoft\UProof" "%USERPROFILE%\Desktop\Office365 Prep\Dictonary" /e /np /mir /log+:"\\serverName\log.txt"
robocopy "%USERPROFILE%\AppData\Local\Microsoft\Office" "%USERPROFILE%\Desktop\Office365 Prep\Ribbon Customizations"  *.officeUI /log+:"\\serverName\log.txt"

robocopy "C:\kworking\O365" "%USERPROFILE%\Desktop\Office365 Prep\Scripts_Config365" 

1 个答案:

答案 0 :(得分:0)

环境变量%USERPROFILE%%APPDATA%将反映当前登录的用户,因此他们可能无法为您尝试执行的操作而努力。但是,如果您的所有计算机都在Windows的现代版本(Vista,7,8.x或10)上,并且您的用户具有默认文件夹位置(C:\ Users \ userName \ AppData \ Roaming),那么您不应该这样做。在直接引用它们时有任何问题。

要遍历目录,请使用for /d

for /d %%a in (C:\Users\*) do (
    IF NOT EXIST "%%a\Desktop\Office365 Prep" (
        mkdir "%%a\Desktop\Office365 Prep"
    )
    mkdir "%%a\Desktop\Office365 Prep\Signatures"
    mkdir "%%a\Desktop\Office365 Prep\Dictonary"
    mkdir "%%a\Desktop\Office365 Prep\Out Of office"
    mkdir "%%a\Desktop\Office365 Prep\Ribbon Customizations"
    mkdir "%%a\Desktop\Office365 Prep\Scripts_Config365"

    robocopy "%%a\AppData\Microsoft\Signatures" "%%a\Desktop\Office365 Prep\Signatures" /e /np /mir /tee /log+:"\\serverName\log.txt"
    robocopy "%%a\AppData\Roaming\Microsoft\UProof" "%%a\Desktop\Office365 Prep\Dictonary" /e /np /mir /log+:"\\serverName\log.txt"
    robocopy "%%a\AppData\Local\Microsoft\Office" "%%a\Desktop\Office365 Prep\Ribbon Customizations"  *.officeUI /log+:"\\serverName\log.txt"

    robocopy "C:\kworking\O365" "%%a\Desktop\Office365 Prep\Scripts_Config365" 
)