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

これは問題なく動作しますが、すべてのプロファイルにヒットするように、組織内のすべてのユーザー (user1、user2 など) のバッチ ファイルに行項目を生成する必要があります。新しいユーザーが採用されたら、プロファイル情報でファイルを更新する必要があります。理想的には、次のようなもう少し自動化されたものが欲しいです。

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

欠点は、「user1」入力の代わりに %userprofile% を使用すると、現在ログインしているユーザーに対してのみ実行されることです。現在ログインしているユーザーを気にせず、代わりにマシン上のすべてのユーザープロファイルに対して実行する別のオプションを組み込むことができますか?

4

1 に答える 1

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
于 2012-05-22T23:38:33.753 に答える