2012-05-22 56 views
3

我要生成一个批处理文件,将复制所有* .doc和* .xls文件类型,从用户的配置文件。然后,我将设置批处理文件在所有用户注销后通过计划任务后自动运行。以下是我有:批处理文件从所有用户配置文件复制

for %%x in (doc xls) do xcopy c:\Users\user1\*.%%x "\\server\i$\User Backups\user1\%computername%\" /c /i /y /s /d 

这工作得很好,但是,我需要生成在每一个用户在我们的组织中的批处理文件行项目(用户1,用户2,等等),这样我打所有档案。当新用户被雇用时,文件需要更新他们的个人资料信息。理想情况下,我想一些更自动化的类似于此:

for %%x in (doc xls) do xcopy %userprofile%\*.%%x "\\server\i$\User Backups\%username%\%computername%" /c /i /y /s /d 

垮台是,通过使用%USERPROFILE%到位“USER1”输入的,它只是违背了当前登录用户。是否还有其他选项可以合并,不会关心当前登录的用户,而是针对机器上的所有用户配置文件运行?

回答

1

你可以使用reg query获得的从注册表中用户配置文件的列表,但你只关心谁C:\Users下有一个文件夹的用户,所以只遍历那些:

for /d %%u in (C:\Users\*) do for %%x in (doc xls) do xcopy C:\Users\%%~nu\*.%%x "\\server\i$\User Backups\%%~nu\%computername%\" /c /i /y /s /d 
+1

感谢您的反馈意见。我能够利用你的建议,并巩固我的原始脚本文件。我当然感谢你的帮助! – user1411190

+0

这对于Win Vista及以上版本来说是完美的,但WinXP又如何呢?那么如何通过userprofiles循环? – crosenblum

+0

@crosenblum,只需更换“C:\用户”与“C:\ Documents和设置”或任何本地化的用户配置文件位置是有问题的机器上。 – Kevin

相关问题