--user-data-dirオプションを簡単に追加するスクリプト

先日エントリーした「Google Chrome アプリケーションショートカットを個別のユーザーデータで起動する」にある--user-data-dirオプションを簡単に追加するvbsスクリプトを書きました。アプリケーションのショートカットを作成後、下記スクリプトにドラッグ&ドロップで追加されます。ユーザーデータフォルダはsUserDataFolder = "hogehoge"のhogehogeを書き換えればいくつも作る事ができます。

ユーザーデータフォルダ設定 - hogehoge - .vbs

Option Explicit



Dim sUserDataFolder

sUserDataFolder = "hogehoge"



Call Main(WScript.Arguments)



Private Sub Main(oArgs)

	If oArgs.Count = 0 Then

		WScript.Echo "ショートカットをこのアイコンへドラッグ&ドロップしてください。"

		Exit Sub

	End If

	WScript.Echo SetUserDataFolder(oArgs)

End Sub



Private Function SetUserDataFolder(oArgs)

	Dim WshShell, re, i, flg, oShellLink, oMatchesLnk, oMatchesChrome, oMatchesUserDataDir, sOption

	sOption = " --user-data-dir=" & Chr(34) & "..\User Data\" & sUserDataFolder & Chr(34)

	flg = False

	Set WshShell = WScript.CreateObject("WScript.Shell")

	Set re = new RegExp

	re.Global = True

	For i = 0 To oArgs.Count - 1

		re.Pattern = "(.lnk)"

		Set oMatchesLnk = re.Execute(oArgs(i))

		If oMatchesLnk.Count = 1 Then

			Set oShellLink = WshShell.CreateShortcut(oArgs(i))

			re.Pattern = "chrome.exe"

			Set oMatchesChrome = re.Execute(oShellLink.TargetPath)

			If oMatchesChrome.Count = 1 Then

				If oMatchesChrome(0) = "chrome.exe" Then

					flg = True

					re.Pattern = "--user-data-dir"

					Set oMatchesUserDataDir = re.Execute(oShellLink.Arguments)

					If oMatchesUserDataDir.Count = 0 Then

						With oShellLink

							oShellLink.Arguments = sOption & " " & .Arguments

							Call oShellLink.Save()

						End With

					End If

				End If

			End If

		End If

	Next

	If flg Then

		SetUserDataFolder = "ユーザーデータフォルダ " & sOption & " を設定しました。"

	Else

		SetUserDataFolder = "ユーザーデータフォルダを設定出来ませんでした。"

	End If

End Function