不定期ですが時々PCのバックアップをしています。
その時に、前回からどんな変更があったのかを書き留めておきたくなり、代表的なソフトウェアで且つ頻繁にアップデートされるものが良いと考え、OS(Windows10)とブラウザ(Chrome)のバージョンを残すことにしました。
コマンドラインでバージョンを取得するには、それぞれ以下のようにします。
Windows10のバージョンを取得
Chromeのバージョンを取得
"C:\Program Files (x86)\Google\Chrome\Application"
上記のフォルダにバージョンをあらわすフォルダがある。
CMDだと以下のようにして確認できる。
>dir "C:\Program Files (x86)\Google\Chrome\Application"
2022/09/04 18:13 <DIR> .
2022/09/04 18:13 <DIR> ..
2022/09/04 18:12 <DIR> 105.0.5195.102 ←コレ
2022/09/02 10:03 2,860,320 chrome.exe …
>
自分はCygwinを使っているので、以下のようにして取得しています。
$ ls -1F "/cygdrive/c/Program Files (x86)/Google/Chrome/Application" | sed -n 's!^\([0-9].*[0-9]\)/$!\1!p'
105.0.5195.102
$
PCのバックアップはMakefile(GNU版)を使っているので、
バックアップ前に実行するdeployというターゲットに
WindowsとChromeのバージョン取得コマンドを追加しておきます。
[Makefile]
deploy: … version_collector ;
…
.PHONY: version_collector
version_collector: $(FBU_PATH)/ver_windows.txt $(FBU_PATH)/ver_chrome.txt
@echo "Microsoft Windows : `cat ver_windows.txt`"
@echo " Google Chrome : `cat ver_chrome.txt`"
ver_windows.txt: /cygdrive/c/Windows
ver=`stat "$<" | awk '/^Modify: /{printf("%s\n",$$2);}'` && \
cmd /c ver | awk -v "VER=$$ver" '/^Microsoft Windows /{ver_len=length($$0)-29;printf("%s %s",VER,substr($$0,28,ver_len));}' > ver_windows.txt
ver_chrome.txt: /cygdrive/c/Program\ Files\ (x86)/Google/Chrome/Application
ver=`stat "$<" | awk '/^Modify: /{printf("%s\n",$$2);}'` && \
ls -1F "/cygdrive/c/Program Files (x86)/Google/Chrome/Application" | sed -n "s!^\([0-9].*\)/\$$!$$ver \1!p" > ver_chrome.txt
以下はメモ書き
$ strings '/cygdrive/c/Program Files (x86)/Google/Chrome/Application/chrome.exe' | grep '^[1-9][0-9]*\.[\.0-9][\.0-9]*$'
106.0.5249.103
$ strings '/cygdrive/c/Program Files (x86)/Google/Chrome/Application/chrome.exe' | mark -nf '^[1-9][0-9]*\.[\.0-9][\.0-9]*$'
*** skip ***
29212:' to HANDLE
29213:' to WinVMAddress
29214:enable-background-thread-pool
29215:test-child-process
29216:vmodule
29217:106.0.5249.103
29218:profile-directory
29219:try-chrome-again
29220:user-data-dir
29221:UserDataDir
29222:enabled$