(個人バックアップ用) Windows の環境情報を一発で保存するバッチファイル
Windows には色んなアプリをインストールしたり環境変数やらネットワーク設定やらを変えたりしますが、ちゃんとメモしておかないと新しい PC に移る時に困ります。
というわけで環境情報を一発で出力するバッチファイルを書いてみました。
バッチファイルと使い方
バッチファイル本体:
@echo off
prompt $$
setlocal
@echo on
rem [ProgramFiles]
dir /w /b "c:\program files" > programfiles.txt
dir /w /b "c:\program files (x86)" > programfiles_x86.txt
rem [SystemConfig]
set > set.txt
ipconfig /all > ipconfig.txt
route print > route.txt
rem [Application]
python --version > python_version.txt
pip freeze > pip_freeze.txt
git --version > git_version.txt
call npm --version > npm_version.txt
call npm list -g > npm_list_global.txt
rem [Registry]
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" > reg_au.txt
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\Favorites" > reg_registry_editor_favorites.txt
pause
これを適当な名前( XXXX.bat
)で適当なフォルダに保存した後、保存した bat ファイルをダブルクリック等で開きます。そうすると、そのフォルダ内に次々とテキストファイルが保存されますので、それらをバックアップします。
新しい PC でセットアップを行う際は、保存しておいたテキストファイルの中身を見てバージョンやら設定やらを確認しながら作業します。
保存するもの
- インストールしたアプリケーションの名前
- 環境変数
- IP, DNS 情報
- ルートテーブル
- アプリケーションのバージョン
- パッケージ管理ツールにてインストールしたパッケージ一覧
- 指定レジストリキー内にあるエントリとその値
他に保存したい情報がある場合、上記を参考にして追記していってください。
細かい解説
ProgramFiles については tree "c:\program files"
を使えばサブフォルダも含めて出力できますが、実行時間とファイルサイズが桁違いに増えます……。
python は 2.x だと python --version 2> python_version.txt
みたいに、標準エラー出力をリダイレクトしてやらないと保存できないかもしれません。
npm コマンドはラッパーバッチの関係で call コマンド経由で呼ばないと動作しません。
レジストリはもし普段からいじっている場合は併せてバックアップしておくといいでしょう(上記は Windows Update 設定とレジストリエディタのお気に入りデータです)。レジストリエディタの .reg エクスポートを使う手もありますが、GUI からポチポチやらないといけなくて面倒くさいです(その代わり .reg ファイルを実行するだけで適用できるので楽です)。
おわりに
他にも「こんなやり方でこんな情報を保存しておくとオススメだよ!」的なのがありましたらぜひ教えてください
Author And Source
この問題について((個人バックアップ用) Windows の環境情報を一発で保存するバッチファイル), 我々は、より多くの情報をここで見つけました https://qiita.com/sta/items/e6ecc261e57a57c1a806著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .