- ベストアンサー
コンピュータ名をファイル名に付けて保存
社内ユーザのソフトウェアインストール状況を確認したく下記のことが 出来るかを検討していますが、行き詰まってしまいご支援いただけますでしょうか? ■やりたいこと■ バッチを実行すると、実行端末の特定のフォルダ内(c:winnt\aa)のソフト名をテキストに吐き出して、実行端末のコンピュータ名を付けて、dドライブに保存したい。更に、dドライブの作成ファイルをネットワーク経由で別端末(アドレスは \\10.130.1.100\D\DOUNYU\とする)のフォルダにコピーしたい。 結果、実行した端末全てから10.130.1.100の端末にデータが集まる。 現在はdirコマンドで、テキストファイルへの出力は出来たのですが、 コンピュータ名取得とバッチ上で取得した名前を付ける方法、更にネットワーク越しのPCにコピーで保存する方法で止まっています。 コマンドプロンプトで可能なレベルでしょうか? 色々検索して手法を探しているのですが、当てはまる実例が無く 皆様のお知恵をお借りしたく・・・ どうぞよろしくお願いします。 <当方環境> OS:2000 ワークグループ
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
systeminfoコマンド、dirコマンドの /qオプションでコンピュータ名は取得できます。 ネットワーク越しのファイルコピーは、クライアント側であらかじめコピー先をマップしておけば、copyコマンドで実行可能です。
その他の回答 (1)
- Oh-Orange
- ベストアンサー率63% (854/1345)
★環境変数を調べると良い。 ・次の環境変数を参照すればバッチファイル内で文字列として使えます。 ALLUSERSPROFILE COMPUTERNAME HOMEDRIVE HOMEPATH OS ProgramFiles SUSERDOMAIN SystemRoot USERNAME USERPROFILE ↑ コンピュータ名は環境変数『COMPUTERNAME』で参照可能です。 ・バッチファイル内では 『ECHO %COMPUTERNAME%』とすれば表示されますし 『ECHO 文字列 > %COMPUTERNAME%.txt』とすればコンピュータ名の名前で保存可能。 ・環境変数の確認はコマンド・プロンプトから『SET』と打ち込み『Enter』を押せば いろいろと見れます。上記の環境変数が既に定義されているので参照すればよい。 ・以上。
お礼
Oh-Orange様 ありがとうございます。 検索の仕方が良くなかったようです。 正しく、コンピュータ名を付けて保存できました。 後はネットワーク越しのコピーが出来れば完璧なんですが、未だ 理解できずでした。 取り急ぎ御礼まで
補足
SRitchie様 コピー先のマップとは、収集先を『共有にする』ことだったのですね。 見落としていました。これでうまく行きましたので、万事解決です。 ありがとうございました。