2016-03-03 63 views
-1

我正在尝试运行批处理脚本,该脚本将用于将保存在其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

此代码不符合您的期望? – lit

回答

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