• 締切済み

PCのデスクトップアイコンを収集する方法はありますか?

PCのデスクトップアイコンを収集する方法はありますか? 会社にて複数台のPCを管理するために、個々のデスクトップアイコン(All Usersと個別のログインユーザ)を収集する必要があります。 そのような便利ツールはありますか? あるいは一括で収集できるようなバッチなどはありますか? 教えてください。 想定としては、以下の2パターンを考えています。 (1)ネットワークごしに接続されたPCのデスクトップアイコンを収集してサーバに保存する (2)個々のPCに収集するためのバッチファイルをスタートアップに登録し、個々のPCが起動する度に、指定されたサーバにアイコンを送る よろしくお願いいたします。

みんなの回答

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

 #1 DOUGLAS_ です。  私の場合、趣味と申しますか、自身の スキルアップ でこちらに参加させていただいているようなもので、余りよく考えずに書いたようですね。  OS の バージョン とか全く考慮に入れておりませんでしたし、 >会社にて複数台のPCを管理する ということにも >個々のPCに収集するためのバッチファイルをスタートアップに登録 する作業そのものにも思いが及んでおりませんでした。  その点に関しては全く理解していない程度ですので、私の回答はお見捨てください。  なお、頑張って、前回答に手を加えてはみましたが、この拙い コード をご覧になって、識者様からの適切なご回答が付くことをお祈り申します。  大変失礼いたしました。  <(_ _)> @echo off Rem {指定されたサーバ} を変数に代入 set server=\\server\folder Rem ■{コンピュータ名} の取得 set name=%COMPUTERNAME% ::http://fpcu.on.coocan.jp/dosvcmd/bbs/log/lan/net_config/1-0719.html ::によると、9x系の場合は、{コンピュータ名} の取得方法が不安定なようですので、 ::端末ごとに「%COMPUTERNAME%」に手入力することになるのか、あるいは ::http://fpcu.on.coocan.jp/dosvcmd/bbs/log/systeminfover/4-0698.html ::によると、下記▼でいけるのかも知れません。 for /f %%h in ('hostname') do set name=%%h Rem ■ 9x系か否かの判別 ::http://www.atmarkit.co.jp/fwin2k/win2ktips/267swchos/swchos.html if "%comspec%"=="c:\command.com" goto Win9x if "%comspec%"=="%systemroot%\system32\cmd.exe" goto WinNT ::その他の場合は終了 goto end :Win9x ::「{指定されたサーバ}\{コンピュータ名}」フォルダ を作成 mkdir %server%\%name% ::デスクトップアイコン を収集 copy "C:\WINDOWS\デスクトップ\*.lnk" "%server%\%name%\*" goto end :WinNT Rem ■ Vista 以降か否かの判定 ::http://homepage1.nifty.com/jak/batch/os.html for /f "tokens=1-3" %%i in ('ver') do set os=%%k set desktop=Desktop if "%os%"=="Version" set desktop=デスクトップ if "%os%"=="2000" set desktop=デスクトップ if "%os%"=="XP" set desktop=デスクトップ ::「{指定されたサーバ}\{コンピュータ名}\All Users」フォルダ を作成 mkdir "%server%\%name%\All Users" ::デスクトップアイコン(All Users)を収集 copy "%ALLUSERSPROFILE%\%desktop%\*.lnk" "%server%\%name%\All Users\*" ::「{指定されたサーバ}\{コンピュータ名}\{ログインユーザー名}」フォルダ を作成 mkdir %server%\%name%\%USERNAME% ::デスクトップアイコン(個別のログインユーザ)を収集 copy "%USERPROFILE%\%desktop%\*.lnk" "%server%\%name%\%USERNAME%\*" :end

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

>あるいは一括で収集できるようなバッチなどはありますか?  こんなのでいかがでしょうか? @echo off ::{指定されたサーバ} を変数に代入 set server=\\Wzr-hp-g301nh\disk1_pt1 ::{コンピュータ名} の取得 for /f %%h in ('hostname') do set name=%%h ::「{指定されたサーバ}\{コンピュータ名}\All Users」フォルダ を作成 mkdir %server%\%name%\"All Users" ::デスクトップアイコン(All Users)を収集 copy "C:\Documents and Settings\All Users\デスクトップ\*.lnk" "%server%\%name%\All Users\*" ::「{指定されたサーバ}\{コンピュータ名}\{ログインユーザー名}」フォルダ を作成 mkdir %server%\%name%\%USERNAME% ::デスクトップアイコン(個別のログインユーザ)を収集 copy "C:\Documents and Settings\%USERNAME%\デスクトップ\*.lnk" %server%\%name%\%USERNAME%\*