SQLの窓

2020年01月18日


Windows10 : VBScript : WMI を使用してレジストリ情報より、shell: を使ってフォルダを開く(実行できる)コマンドラインの一覧ボタンを表示する Html Application のコードを作成する

VBScript のコード3つ必要です。メインの部分は結果をパイプで sort に渡して最後にテキストファイルに追加リダイレクトします

一覧の中には、自裁には存在しない為、ドキュメントフォルダが開く事を確認しています

hta_head.vbs
Wscript.Echo "<html>"
Wscript.Echo "<script language='vbscript'>"
Wscript.Echo "Set WshShell = CreateObject( ""WScript.Shell"" )"
Wscript.Echo "</script>"


get_shell_folder.vbs
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")

strBasePath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions"

ret = objRegistry.EnumKey( &H80000002, strBasePath, aKeys )

For Each strKeyPath in aKeys
	ret = objRegistry.GetStringValue( &H80000002, strBasePath & "\" & strKeyPath, "Name", strValue )
	Wscript.Echo "<input type='button' value='" & strValue & "' onclick='Call WshShell.Run(""Explorer shell:"& strValue & """)' language='vbscript'><br>"
Next


hta_last.vbs
Wscript.Echo "</html>"

result.hta
<html>
<script language='vbscript'>
Set WshShell = CreateObject( "WScript.Shell" )
</script>
<input type='button' value='3D Objects' onclick='Call WshShell.Run("Explorer shell:3D Objects")' language='vbscript'><br>
<input type='button' value='AccountPictures' onclick='Call WshShell.Run("Explorer shell:AccountPictures")' language='vbscript'><br>
<input type='button' value='AddNewProgramsFolder' onclick='Call WshShell.Run("Explorer shell:AddNewProgramsFolder")' language='vbscript'><br>
<input type='button' value='Administrative Tools' onclick='Call WshShell.Run("Explorer shell:Administrative Tools")' language='vbscript'><br>
<input type='button' value='AppData' onclick='Call WshShell.Run("Explorer shell:AppData")' language='vbscript'><br>
<input type='button' value='AppDataDesktop' onclick='Call WshShell.Run("Explorer shell:AppDataDesktop")' language='vbscript'><br>
<input type='button' value='AppDataDocuments' onclick='Call WshShell.Run("Explorer shell:AppDataDocuments")' language='vbscript'><br>
<input type='button' value='AppDataFavorites' onclick='Call WshShell.Run("Explorer shell:AppDataFavorites")' language='vbscript'><br>
<input type='button' value='AppDataProgramData' onclick='Call WshShell.Run("Explorer shell:AppDataProgramData")' language='vbscript'><br>
<input type='button' value='Application Shortcuts' onclick='Call WshShell.Run("Explorer shell:Application Shortcuts")' language='vbscript'><br>
<input type='button' value='AppMods' onclick='Call WshShell.Run("Explorer shell:AppMods")' language='vbscript'><br>
<input type='button' value='AppsFolder' onclick='Call WshShell.Run("Explorer shell:AppsFolder")' language='vbscript'><br>
<input type='button' value='AppUpdatesFolder' onclick='Call WshShell.Run("Explorer shell:AppUpdatesFolder")' language='vbscript'><br>
<input type='button' value='Cache' onclick='Call WshShell.Run("Explorer shell:Cache")' language='vbscript'><br>
<input type='button' value='Camera Roll' onclick='Call WshShell.Run("Explorer shell:Camera Roll")' language='vbscript'><br>
<input type='button' value='CameraRollLibrary' onclick='Call WshShell.Run("Explorer shell:CameraRollLibrary")' language='vbscript'><br>
<input type='button' value='Captures' onclick='Call WshShell.Run("Explorer shell:Captures")' language='vbscript'><br>
<input type='button' value='CD Burning' onclick='Call WshShell.Run("Explorer shell:CD Burning")' language='vbscript'><br>
<input type='button' value='ChangeRemoveProgramsFolder' onclick='Call WshShell.Run("Explorer shell:ChangeRemoveProgramsFolder")' language='vbscript'><br>
<input type='button' value='Common Administrative Tools' onclick='Call WshShell.Run("Explorer shell:Common Administrative Tools")' language='vbscript'><br>
<input type='button' value='Common AppData' onclick='Call WshShell.Run("Explorer shell:Common AppData")' language='vbscript'><br>
<input type='button' value='Common Desktop' onclick='Call WshShell.Run("Explorer shell:Common Desktop")' language='vbscript'><br>
<input type='button' value='Common Documents' onclick='Call WshShell.Run("Explorer shell:Common Documents")' language='vbscript'><br>
<input type='button' value='Common Programs' onclick='Call WshShell.Run("Explorer shell:Common Programs")' language='vbscript'><br>
<input type='button' value='Common Start Menu' onclick='Call WshShell.Run("Explorer shell:Common Start Menu")' language='vbscript'><br>
<input type='button' value='Common Start Menu Places' onclick='Call WshShell.Run("Explorer shell:Common Start Menu Places")' language='vbscript'><br>
<input type='button' value='Common Startup' onclick='Call WshShell.Run("Explorer shell:Common Startup")' language='vbscript'><br>
<input type='button' value='Common Templates' onclick='Call WshShell.Run("Explorer shell:Common Templates")' language='vbscript'><br>
<input type='button' value='CommonDownloads' onclick='Call WshShell.Run("Explorer shell:CommonDownloads")' language='vbscript'><br>
<input type='button' value='CommonMusic' onclick='Call WshShell.Run("Explorer shell:CommonMusic")' language='vbscript'><br>
<input type='button' value='CommonPictures' onclick='Call WshShell.Run("Explorer shell:CommonPictures")' language='vbscript'><br>
<input type='button' value='CommonRingtones' onclick='Call WshShell.Run("Explorer shell:CommonRingtones")' language='vbscript'><br>
<input type='button' value='CommonVideo' onclick='Call WshShell.Run("Explorer shell:CommonVideo")' language='vbscript'><br>
<input type='button' value='ConflictFolder' onclick='Call WshShell.Run("Explorer shell:ConflictFolder")' language='vbscript'><br>
<input type='button' value='ConnectionsFolder' onclick='Call WshShell.Run("Explorer shell:ConnectionsFolder")' language='vbscript'><br>
<input type='button' value='Contacts' onclick='Call WshShell.Run("Explorer shell:Contacts")' language='vbscript'><br>
<input type='button' value='ControlPanelFolder' onclick='Call WshShell.Run("Explorer shell:ControlPanelFolder")' language='vbscript'><br>
<input type='button' value='Cookies' onclick='Call WshShell.Run("Explorer shell:Cookies")' language='vbscript'><br>
<input type='button' value='CredentialManager' onclick='Call WshShell.Run("Explorer shell:CredentialManager")' language='vbscript'><br>
<input type='button' value='CryptoKeys' onclick='Call WshShell.Run("Explorer shell:CryptoKeys")' language='vbscript'><br>
<input type='button' value='CSCFolder' onclick='Call WshShell.Run("Explorer shell:CSCFolder")' language='vbscript'><br>
<input type='button' value='Desktop' onclick='Call WshShell.Run("Explorer shell:Desktop")' language='vbscript'><br>
<input type='button' value='Development Files' onclick='Call WshShell.Run("Explorer shell:Development Files")' language='vbscript'><br>
<input type='button' value='Device Metadata Store' onclick='Call WshShell.Run("Explorer shell:Device Metadata Store")' language='vbscript'><br>
<input type='button' value='DocumentsLibrary' onclick='Call WshShell.Run("Explorer shell:DocumentsLibrary")' language='vbscript'><br>
<input type='button' value='Downloads' onclick='Call WshShell.Run("Explorer shell:Downloads")' language='vbscript'><br>
<input type='button' value='DpapiKeys' onclick='Call WshShell.Run("Explorer shell:DpapiKeys")' language='vbscript'><br>
<input type='button' value='Favorites' onclick='Call WshShell.Run("Explorer shell:Favorites")' language='vbscript'><br>
<input type='button' value='Fonts' onclick='Call WshShell.Run("Explorer shell:Fonts")' language='vbscript'><br>
<input type='button' value='GameTasks' onclick='Call WshShell.Run("Explorer shell:GameTasks")' language='vbscript'><br>
<input type='button' value='History' onclick='Call WshShell.Run("Explorer shell:History")' language='vbscript'><br>
<input type='button' value='HomeGroupCurrentUserFolder' onclick='Call WshShell.Run("Explorer shell:HomeGroupCurrentUserFolder")' language='vbscript'><br>
<input type='button' value='HomeGroupFolder' onclick='Call WshShell.Run("Explorer shell:HomeGroupFolder")' language='vbscript'><br>
<input type='button' value='ImplicitAppShortcuts' onclick='Call WshShell.Run("Explorer shell:ImplicitAppShortcuts")' language='vbscript'><br>
<input type='button' value='InternetFolder' onclick='Call WshShell.Run("Explorer shell:InternetFolder")' language='vbscript'><br>
<input type='button' value='Libraries' onclick='Call WshShell.Run("Explorer shell:Libraries")' language='vbscript'><br>
<input type='button' value='Links' onclick='Call WshShell.Run("Explorer shell:Links")' language='vbscript'><br>
<input type='button' value='Local AppData' onclick='Call WshShell.Run("Explorer shell:Local AppData")' language='vbscript'><br>
<input type='button' value='Local Documents' onclick='Call WshShell.Run("Explorer shell:Local Documents")' language='vbscript'><br>
<input type='button' value='Local Downloads' onclick='Call WshShell.Run("Explorer shell:Local Downloads")' language='vbscript'><br>
<input type='button' value='Local Music' onclick='Call WshShell.Run("Explorer shell:Local Music")' language='vbscript'><br>
<input type='button' value='Local Pictures' onclick='Call WshShell.Run("Explorer shell:Local Pictures")' language='vbscript'><br>
<input type='button' value='Local Videos' onclick='Call WshShell.Run("Explorer shell:Local Videos")' language='vbscript'><br>
<input type='button' value='LocalAppDataLow' onclick='Call WshShell.Run("Explorer shell:LocalAppDataLow")' language='vbscript'><br>
<input type='button' value='LocalizedResourcesDir' onclick='Call WshShell.Run("Explorer shell:LocalizedResourcesDir")' language='vbscript'><br>
<input type='button' value='MAPIFolder' onclick='Call WshShell.Run("Explorer shell:MAPIFolder")' language='vbscript'><br>
<input type='button' value='MusicLibrary' onclick='Call WshShell.Run("Explorer shell:MusicLibrary")' language='vbscript'><br>
<input type='button' value='My Music' onclick='Call WshShell.Run("Explorer shell:My Music")' language='vbscript'><br>
<input type='button' value='My Pictures' onclick='Call WshShell.Run("Explorer shell:My Pictures")' language='vbscript'><br>
<input type='button' value='My Video' onclick='Call WshShell.Run("Explorer shell:My Video")' language='vbscript'><br>
<input type='button' value='MyComputerFolder' onclick='Call WshShell.Run("Explorer shell:MyComputerFolder")' language='vbscript'><br>
<input type='button' value='NetHood' onclick='Call WshShell.Run("Explorer shell:NetHood")' language='vbscript'><br>
<input type='button' value='NetworkPlacesFolder' onclick='Call WshShell.Run("Explorer shell:NetworkPlacesFolder")' language='vbscript'><br>
<input type='button' value='OEM Links' onclick='Call WshShell.Run("Explorer shell:OEM Links")' language='vbscript'><br>
<input type='button' value='OneDrive' onclick='Call WshShell.Run("Explorer shell:OneDrive")' language='vbscript'><br>
<input type='button' value='OneDriveCameraRoll' onclick='Call WshShell.Run("Explorer shell:OneDriveCameraRoll")' language='vbscript'><br>
<input type='button' value='OneDriveDocuments' onclick='Call WshShell.Run("Explorer shell:OneDriveDocuments")' language='vbscript'><br>
<input type='button' value='OneDriveMusic' onclick='Call WshShell.Run("Explorer shell:OneDriveMusic")' language='vbscript'><br>
<input type='button' value='OneDrivePictures' onclick='Call WshShell.Run("Explorer shell:OneDrivePictures")' language='vbscript'><br>
<input type='button' value='Original Images' onclick='Call WshShell.Run("Explorer shell:Original Images")' language='vbscript'><br>
<input type='button' value='Personal' onclick='Call WshShell.Run("Explorer shell:Personal")' language='vbscript'><br>
<input type='button' value='PhotoAlbums' onclick='Call WshShell.Run("Explorer shell:PhotoAlbums")' language='vbscript'><br>
<input type='button' value='PicturesLibrary' onclick='Call WshShell.Run("Explorer shell:PicturesLibrary")' language='vbscript'><br>
<input type='button' value='Playlists' onclick='Call WshShell.Run("Explorer shell:Playlists")' language='vbscript'><br>
<input type='button' value='PrintersFolder' onclick='Call WshShell.Run("Explorer shell:PrintersFolder")' language='vbscript'><br>
<input type='button' value='PrintHood' onclick='Call WshShell.Run("Explorer shell:PrintHood")' language='vbscript'><br>
<input type='button' value='Profile' onclick='Call WshShell.Run("Explorer shell:Profile")' language='vbscript'><br>
<input type='button' value='ProgramFiles' onclick='Call WshShell.Run("Explorer shell:ProgramFiles")' language='vbscript'><br>
<input type='button' value='ProgramFilesCommon' onclick='Call WshShell.Run("Explorer shell:ProgramFilesCommon")' language='vbscript'><br>
<input type='button' value='ProgramFilesCommonX64' onclick='Call WshShell.Run("Explorer shell:ProgramFilesCommonX64")' language='vbscript'><br>
<input type='button' value='ProgramFilesCommonX86' onclick='Call WshShell.Run("Explorer shell:ProgramFilesCommonX86")' language='vbscript'><br>
<input type='button' value='ProgramFilesX64' onclick='Call WshShell.Run("Explorer shell:ProgramFilesX64")' language='vbscript'><br>
<input type='button' value='ProgramFilesX86' onclick='Call WshShell.Run("Explorer shell:ProgramFilesX86")' language='vbscript'><br>
<input type='button' value='Programs' onclick='Call WshShell.Run("Explorer shell:Programs")' language='vbscript'><br>
<input type='button' value='Public' onclick='Call WshShell.Run("Explorer shell:Public")' language='vbscript'><br>
<input type='button' value='PublicAccountPictures' onclick='Call WshShell.Run("Explorer shell:PublicAccountPictures")' language='vbscript'><br>
<input type='button' value='PublicGameTasks' onclick='Call WshShell.Run("Explorer shell:PublicGameTasks")' language='vbscript'><br>
<input type='button' value='PublicLibraries' onclick='Call WshShell.Run("Explorer shell:PublicLibraries")' language='vbscript'><br>
<input type='button' value='Quick Launch' onclick='Call WshShell.Run("Explorer shell:Quick Launch")' language='vbscript'><br>
<input type='button' value='Recent' onclick='Call WshShell.Run("Explorer shell:Recent")' language='vbscript'><br>
<input type='button' value='Recorded Calls' onclick='Call WshShell.Run("Explorer shell:Recorded Calls")' language='vbscript'><br>
<input type='button' value='RecordedTVLibrary' onclick='Call WshShell.Run("Explorer shell:RecordedTVLibrary")' language='vbscript'><br>
<input type='button' value='RecycleBinFolder' onclick='Call WshShell.Run("Explorer shell:RecycleBinFolder")' language='vbscript'><br>
<input type='button' value='ResourceDir' onclick='Call WshShell.Run("Explorer shell:ResourceDir")' language='vbscript'><br>
<input type='button' value='Retail Demo' onclick='Call WshShell.Run("Explorer shell:Retail Demo")' language='vbscript'><br>
<input type='button' value='Ringtones' onclick='Call WshShell.Run("Explorer shell:Ringtones")' language='vbscript'><br>
<input type='button' value='Roamed Tile Images' onclick='Call WshShell.Run("Explorer shell:Roamed Tile Images")' language='vbscript'><br>
<input type='button' value='Roaming Tiles' onclick='Call WshShell.Run("Explorer shell:Roaming Tiles")' language='vbscript'><br>
<input type='button' value='SavedGames' onclick='Call WshShell.Run("Explorer shell:SavedGames")' language='vbscript'><br>
<input type='button' value='SavedPictures' onclick='Call WshShell.Run("Explorer shell:SavedPictures")' language='vbscript'><br>
<input type='button' value='SavedPicturesLibrary' onclick='Call WshShell.Run("Explorer shell:SavedPicturesLibrary")' language='vbscript'><br>
<input type='button' value='Screenshots' onclick='Call WshShell.Run("Explorer shell:Screenshots")' language='vbscript'><br>
<input type='button' value='Searches' onclick='Call WshShell.Run("Explorer shell:Searches")' language='vbscript'><br>
<input type='button' value='SearchHistoryFolder' onclick='Call WshShell.Run("Explorer shell:SearchHistoryFolder")' language='vbscript'><br>
<input type='button' value='SearchHomeFolder' onclick='Call WshShell.Run("Explorer shell:SearchHomeFolder")' language='vbscript'><br>
<input type='button' value='SearchTemplatesFolder' onclick='Call WshShell.Run("Explorer shell:SearchTemplatesFolder")' language='vbscript'><br>
<input type='button' value='SendTo' onclick='Call WshShell.Run("Explorer shell:SendTo")' language='vbscript'><br>
<input type='button' value='Start Menu' onclick='Call WshShell.Run("Explorer shell:Start Menu")' language='vbscript'><br>
<input type='button' value='StartMenuAllPrograms' onclick='Call WshShell.Run("Explorer shell:StartMenuAllPrograms")' language='vbscript'><br>
<input type='button' value='Startup' onclick='Call WshShell.Run("Explorer shell:Startup")' language='vbscript'><br>
<input type='button' value='SyncCenterFolder' onclick='Call WshShell.Run("Explorer shell:SyncCenterFolder")' language='vbscript'><br>
<input type='button' value='SyncResultsFolder' onclick='Call WshShell.Run("Explorer shell:SyncResultsFolder")' language='vbscript'><br>
<input type='button' value='SyncSetupFolder' onclick='Call WshShell.Run("Explorer shell:SyncSetupFolder")' language='vbscript'><br>
<input type='button' value='System' onclick='Call WshShell.Run("Explorer shell:System")' language='vbscript'><br>
<input type='button' value='SystemCertificates' onclick='Call WshShell.Run("Explorer shell:SystemCertificates")' language='vbscript'><br>
<input type='button' value='SystemX86' onclick='Call WshShell.Run("Explorer shell:SystemX86")' language='vbscript'><br>
<input type='button' value='Templates' onclick='Call WshShell.Run("Explorer shell:Templates")' language='vbscript'><br>
<input type='button' value='ThisDeviceFolder' onclick='Call WshShell.Run("Explorer shell:ThisDeviceFolder")' language='vbscript'><br>
<input type='button' value='ThisPCDesktopFolder' onclick='Call WshShell.Run("Explorer shell:ThisPCDesktopFolder")' language='vbscript'><br>
<input type='button' value='User Pinned' onclick='Call WshShell.Run("Explorer shell:User Pinned")' language='vbscript'><br>
<input type='button' value='UserProfiles' onclick='Call WshShell.Run("Explorer shell:UserProfiles")' language='vbscript'><br>
<input type='button' value='UserProgramFiles' onclick='Call WshShell.Run("Explorer shell:UserProgramFiles")' language='vbscript'><br>
<input type='button' value='UserProgramFilesCommon' onclick='Call WshShell.Run("Explorer shell:UserProgramFilesCommon")' language='vbscript'><br>
<input type='button' value='UsersFilesFolder' onclick='Call WshShell.Run("Explorer shell:UsersFilesFolder")' language='vbscript'><br>
<input type='button' value='UsersLibrariesFolder' onclick='Call WshShell.Run("Explorer shell:UsersLibrariesFolder")' language='vbscript'><br>
<input type='button' value='VideosLibrary' onclick='Call WshShell.Run("Explorer shell:VideosLibrary")' language='vbscript'><br>
<input type='button' value='Windows' onclick='Call WshShell.Run("Explorer shell:Windows")' language='vbscript'><br>
</html>


build_hta.bat
cscript //nologo hta_head.vbs > result.hta
cscript //nologo get_shell_folder.vbs | sort >> result.hta
cscript //nologo hta_last.vbs >> result.hta


▼ 上記 HTA をテストして動作しない名前を削除しました( OneDrive 関連はわからないのでスルー )
※ この hta ファイルは、デスクトップではうまく動作しません。原因は不明です
<html>
<script language='vbscript'>
Set WshShell = CreateObject( "WScript.Shell" )
</script>
<input type='button' value='3D Objects' onclick='Call WshShell.Run("Explorer shell:3D Objects")' language='vbscript'><br>
<input type='button' value='AccountPictures' onclick='Call WshShell.Run("Explorer shell:AccountPictures")' language='vbscript'><br>
<input type='button' value='AddNewProgramsFolder' onclick='Call WshShell.Run("Explorer shell:AddNewProgramsFolder")' language='vbscript'><br>
<input type='button' value='Administrative Tools' onclick='Call WshShell.Run("Explorer shell:Administrative Tools")' language='vbscript'><br>
<input type='button' value='AppData' onclick='Call WshShell.Run("Explorer shell:AppData")' language='vbscript'><br>
<input type='button' value='AppDataDocuments' onclick='Call WshShell.Run("Explorer shell:AppDataDocuments")' language='vbscript'><br>
<input type='button' value='Application Shortcuts' onclick='Call WshShell.Run("Explorer shell:Application Shortcuts")' language='vbscript'><br>
<input type='button' value='AppsFolder' onclick='Call WshShell.Run("Explorer shell:AppsFolder")' language='vbscript'><br>
<input type='button' value='Cache' onclick='Call WshShell.Run("Explorer shell:Cache")' language='vbscript'><br>
<input type='button' value='Camera Roll' onclick='Call WshShell.Run("Explorer shell:Camera Roll")' language='vbscript'><br>
<input type='button' value='CD Burning' onclick='Call WshShell.Run("Explorer shell:CD Burning")' language='vbscript'><br>
<input type='button' value='Common Administrative Tools' onclick='Call WshShell.Run("Explorer shell:Common Administrative Tools")' language='vbscript'><br>
<input type='button' value='Common AppData' onclick='Call WshShell.Run("Explorer shell:Common AppData")' language='vbscript'><br>
<input type='button' value='Common Desktop' onclick='Call WshShell.Run("Explorer shell:Common Desktop")' language='vbscript'><br>
<input type='button' value='Common Documents' onclick='Call WshShell.Run("Explorer shell:Common Documents")' language='vbscript'><br>
<input type='button' value='Common Programs' onclick='Call WshShell.Run("Explorer shell:Common Programs")' language='vbscript'><br>
<input type='button' value='Common Start Menu' onclick='Call WshShell.Run("Explorer shell:Common Start Menu")' language='vbscript'><br>
<input type='button' value='Common Startup' onclick='Call WshShell.Run("Explorer shell:Common Startup")' language='vbscript'><br>
<input type='button' value='Common Templates' onclick='Call WshShell.Run("Explorer shell:Common Templates")' language='vbscript'><br>
<input type='button' value='CommonDownloads' onclick='Call WshShell.Run("Explorer shell:CommonDownloads")' language='vbscript'><br>
<input type='button' value='CommonMusic' onclick='Call WshShell.Run("Explorer shell:CommonMusic")' language='vbscript'><br>
<input type='button' value='CommonPictures' onclick='Call WshShell.Run("Explorer shell:CommonPictures")' language='vbscript'><br>
<input type='button' value='CommonRingtones' onclick='Call WshShell.Run("Explorer shell:CommonRingtones")' language='vbscript'><br>
<input type='button' value='CommonVideo' onclick='Call WshShell.Run("Explorer shell:CommonVideo")' language='vbscript'><br>
<input type='button' value='ConnectionsFolder' onclick='Call WshShell.Run("Explorer shell:ConnectionsFolder")' language='vbscript'><br>
<input type='button' value='Contacts' onclick='Call WshShell.Run("Explorer shell:Contacts")' language='vbscript'><br>
<input type='button' value='ControlPanelFolder' onclick='Call WshShell.Run("Explorer shell:ControlPanelFolder")' language='vbscript'><br>
<input type='button' value='Cookies' onclick='Call WshShell.Run("Explorer shell:Cookies")' language='vbscript'><br>
<input type='button' value='CredentialManager' onclick='Call WshShell.Run("Explorer shell:CredentialManager")' language='vbscript'><br>
<input type='button' value='CryptoKeys' onclick='Call WshShell.Run("Explorer shell:CryptoKeys")' language='vbscript'><br>
<input type='button' value='Desktop' onclick='Call WshShell.Run("Explorer shell:Desktop")' language='vbscript'><br>
<input type='button' value='Device Metadata Store' onclick='Call WshShell.Run("Explorer shell:Device Metadata Store")' language='vbscript'><br>
<input type='button' value='DocumentsLibrary' onclick='Call WshShell.Run("Explorer shell:DocumentsLibrary")' language='vbscript'><br>
<input type='button' value='Downloads' onclick='Call WshShell.Run("Explorer shell:Downloads")' language='vbscript'><br>
<input type='button' value='DpapiKeys' onclick='Call WshShell.Run("Explorer shell:DpapiKeys")' language='vbscript'><br>
<input type='button' value='Favorites' onclick='Call WshShell.Run("Explorer shell:Favorites")' language='vbscript'><br>
<input type='button' value='Fonts' onclick='Call WshShell.Run("Explorer shell:Fonts")' language='vbscript'><br>
<input type='button' value='GameTasks' onclick='Call WshShell.Run("Explorer shell:GameTasks")' language='vbscript'><br>
<input type='button' value='History' onclick='Call WshShell.Run("Explorer shell:History")' language='vbscript'><br>
<input type='button' value='HomeGroupFolder' onclick='Call WshShell.Run("Explorer shell:HomeGroupFolder")' language='vbscript'><br>
<input type='button' value='ImplicitAppShortcuts' onclick='Call WshShell.Run("Explorer shell:ImplicitAppShortcuts")' language='vbscript'><br>
<input type='button' value='Libraries' onclick='Call WshShell.Run("Explorer shell:Libraries")' language='vbscript'><br>
<input type='button' value='Links' onclick='Call WshShell.Run("Explorer shell:Links")' language='vbscript'><br>
<input type='button' value='Local AppData' onclick='Call WshShell.Run("Explorer shell:Local AppData")' language='vbscript'><br>
<input type='button' value='Local Documents' onclick='Call WshShell.Run("Explorer shell:Local Documents")' language='vbscript'><br>
<input type='button' value='Local Downloads' onclick='Call WshShell.Run("Explorer shell:Local Downloads")' language='vbscript'><br>
<input type='button' value='Local Music' onclick='Call WshShell.Run("Explorer shell:Local Music")' language='vbscript'><br>
<input type='button' value='Local Pictures' onclick='Call WshShell.Run("Explorer shell:Local Pictures")' language='vbscript'><br>
<input type='button' value='Local Videos' onclick='Call WshShell.Run("Explorer shell:Local Videos")' language='vbscript'><br>
<input type='button' value='LocalAppDataLow' onclick='Call WshShell.Run("Explorer shell:LocalAppDataLow")' language='vbscript'><br>
<input type='button' value='MusicLibrary' onclick='Call WshShell.Run("Explorer shell:MusicLibrary")' language='vbscript'><br>
<input type='button' value='My Music' onclick='Call WshShell.Run("Explorer shell:My Music")' language='vbscript'><br>
<input type='button' value='My Pictures' onclick='Call WshShell.Run("Explorer shell:My Pictures")' language='vbscript'><br>
<input type='button' value='My Video' onclick='Call WshShell.Run("Explorer shell:My Video")' language='vbscript'><br>
<input type='button' value='MyComputerFolder' onclick='Call WshShell.Run("Explorer shell:MyComputerFolder")' language='vbscript'><br>
<input type='button' value='NetHood' onclick='Call WshShell.Run("Explorer shell:NetHood")' language='vbscript'><br>
<input type='button' value='NetworkPlacesFolder' onclick='Call WshShell.Run("Explorer shell:NetworkPlacesFolder")' language='vbscript'><br>
<input type='button' value='OneDrive' onclick='Call WshShell.Run("Explorer shell:OneDrive")' language='vbscript'><br>
<input type='button' value='OneDriveCameraRoll' onclick='Call WshShell.Run("Explorer shell:OneDriveCameraRoll")' language='vbscript'><br>
<input type='button' value='OneDriveDocuments' onclick='Call WshShell.Run("Explorer shell:OneDriveDocuments")' language='vbscript'><br>
<input type='button' value='OneDriveMusic' onclick='Call WshShell.Run("Explorer shell:OneDriveMusic")' language='vbscript'><br>
<input type='button' value='OneDrivePictures' onclick='Call WshShell.Run("Explorer shell:OneDrivePictures")' language='vbscript'><br>
<input type='button' value='PicturesLibrary' onclick='Call WshShell.Run("Explorer shell:PicturesLibrary")' language='vbscript'><br>
<input type='button' value='PrintersFolder' onclick='Call WshShell.Run("Explorer shell:PrintersFolder")' language='vbscript'><br>
<input type='button' value='PrintHood' onclick='Call WshShell.Run("Explorer shell:PrintHood")' language='vbscript'><br>
<input type='button' value='Profile' onclick='Call WshShell.Run("Explorer shell:Profile")' language='vbscript'><br>
<input type='button' value='ProgramFiles' onclick='Call WshShell.Run("Explorer shell:ProgramFiles")' language='vbscript'><br>
<input type='button' value='ProgramFilesCommon' onclick='Call WshShell.Run("Explorer shell:ProgramFilesCommon")' language='vbscript'><br>
<input type='button' value='ProgramFilesCommonX86' onclick='Call WshShell.Run("Explorer shell:ProgramFilesCommonX86")' language='vbscript'><br>
<input type='button' value='ProgramFilesX86' onclick='Call WshShell.Run("Explorer shell:ProgramFilesX86")' language='vbscript'><br>
<input type='button' value='Programs' onclick='Call WshShell.Run("Explorer shell:Programs")' language='vbscript'><br>
<input type='button' value='Public' onclick='Call WshShell.Run("Explorer shell:Public")' language='vbscript'><br>
<input type='button' value='PublicAccountPictures' onclick='Call WshShell.Run("Explorer shell:PublicAccountPictures")' language='vbscript'><br>
<input type='button' value='PublicGameTasks' onclick='Call WshShell.Run("Explorer shell:PublicGameTasks")' language='vbscript'><br>
<input type='button' value='PublicLibraries' onclick='Call WshShell.Run("Explorer shell:PublicLibraries")' language='vbscript'><br>
<input type='button' value='Quick Launch' onclick='Call WshShell.Run("Explorer shell:Quick Launch")' language='vbscript'><br>
<input type='button' value='Recent' onclick='Call WshShell.Run("Explorer shell:Recent")' language='vbscript'><br>
<input type='button' value='RecycleBinFolder' onclick='Call WshShell.Run("Explorer shell:RecycleBinFolder")' language='vbscript'><br>
<input type='button' value='ResourceDir' onclick='Call WshShell.Run("Explorer shell:ResourceDir")' language='vbscript'><br>
<input type='button' value='Ringtones' onclick='Call WshShell.Run("Explorer shell:Ringtones")' language='vbscript'><br>
<input type='button' value='Roaming Tiles' onclick='Call WshShell.Run("Explorer shell:Roaming Tiles")' language='vbscript'><br>
<input type='button' value='SavedGames' onclick='Call WshShell.Run("Explorer shell:SavedGames")' language='vbscript'><br>
<input type='button' value='SavedPictures' onclick='Call WshShell.Run("Explorer shell:SavedPictures")' language='vbscript'><br>
<input type='button' value='SavedPicturesLibrary' onclick='Call WshShell.Run("Explorer shell:SavedPicturesLibrary")' language='vbscript'><br>
<input type='button' value='Screenshots' onclick='Call WshShell.Run("Explorer shell:Screenshots")' language='vbscript'><br>
<input type='button' value='Searches' onclick='Call WshShell.Run("Explorer shell:Searches")' language='vbscript'><br>
<input type='button' value='SearchHomeFolder' onclick='Call WshShell.Run("Explorer shell:SearchHomeFolder")' language='vbscript'><br>
<input type='button' value='SendTo' onclick='Call WshShell.Run("Explorer shell:SendTo")' language='vbscript'><br>
<input type='button' value='Start Menu' onclick='Call WshShell.Run("Explorer shell:Start Menu")' language='vbscript'><br>
<input type='button' value='Startup' onclick='Call WshShell.Run("Explorer shell:Startup")' language='vbscript'><br>
<input type='button' value='System' onclick='Call WshShell.Run("Explorer shell:System")' language='vbscript'><br>
<input type='button' value='SystemCertificates' onclick='Call WshShell.Run("Explorer shell:SystemCertificates")' language='vbscript'><br>
<input type='button' value='SystemX86' onclick='Call WshShell.Run("Explorer shell:SystemX86")' language='vbscript'><br>
<input type='button' value='Templates' onclick='Call WshShell.Run("Explorer shell:Templates")' language='vbscript'><br>
<input type='button' value='ThisDeviceFolder' onclick='Call WshShell.Run("Explorer shell:ThisDeviceFolder")' language='vbscript'><br>
<input type='button' value='ThisPCDesktopFolder' onclick='Call WshShell.Run("Explorer shell:ThisPCDesktopFolder")' language='vbscript'><br>
<input type='button' value='User Pinned' onclick='Call WshShell.Run("Explorer shell:User Pinned")' language='vbscript'><br>
<input type='button' value='UserProfiles' onclick='Call WshShell.Run("Explorer shell:UserProfiles")' language='vbscript'><br>
<input type='button' value='UserProgramFiles' onclick='Call WshShell.Run("Explorer shell:UserProgramFiles")' language='vbscript'><br>
<input type='button' value='UserProgramFilesCommon' onclick='Call WshShell.Run("Explorer shell:UserProgramFilesCommon")' language='vbscript'><br>
<input type='button' value='UsersFilesFolder' onclick='Call WshShell.Run("Explorer shell:UsersFilesFolder")' language='vbscript'><br>
<input type='button' value='UsersLibrariesFolder' onclick='Call WshShell.Run("Explorer shell:UsersLibrariesFolder")' language='vbscript'><br>
<input type='button' value='VideosLibrary' onclick='Call WshShell.Run("Explorer shell:VideosLibrary")' language='vbscript'><br>
<input type='button' value='Windows' onclick='Call WshShell.Run("Explorer shell:Windows")' language='vbscript'><br>
</html>


このページの PDF



posted by lightbox at 2020-01-18 17:03 | VBS + WMI | このブログの読者になる | 更新情報をチェックする

2019年03月01日


VBScript( WMI )によるイベント関数を WMI に登録するタイマー処理

VBScript(WSH) の WScript.CreateObject では、作成したオブジェクトのイベントを受け付ける関数を定義する事ができます。過去、ほとんどそのようなサンプルは現実には無かったのですが、WMI では少なくともタイマー処理として利用可能です。

CreateObject メソッドstrPrefix 引数を指定すると、接続されたオブジェクトが作成されます。

これは、オブジェクトのイベントを同期させる場合に便利です。オブジェクトの出力インターフェイスは、オブジェクト作成後にスクリプト ファイルに接続されます。

イベント処理関数は、このプリフィックスとイベント名を組み合わせた名前になります。オブジェクト作成時に strPrefix 引数を指定しなかった場合は、ConnectObject メソッドを使ってオブジェクトのイベントを同期させることができます。オブジェクトがイベントを発行すると、WSH は strPrefix + イベント名という形式の名前を持つサブルーチンを呼び出します。

たとえば、strPrefix が MYOBJ であり、オブジェクトが OnBegin というイベントを発行した場合、Windows Script Host はスクリプト内の MYOBJ_OnBegin という名前のサブルーチンを呼び出します
タイマー処理
' ********************************************************************
' このセクションは、cscript.exe で処理を強制させるものです
' ********************************************************************
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	str = WScript.ScriptFullName
	Set WshShell = CreateObject( "WScript.Shell" )
	Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """ & pause", 3 )
	WScript.Quit
end if

' ********************************************************************
' 秒単位のログを表示するかどうかのフラグです
' ********************************************************************
Dim Disp : Disp = True	' False にすると、秒単位の表示はしなくなります

' ********************************************************************
' WMI のイベントの定義
' ********************************************************************
Set SINK = WScript.CreateObject("WbemScripting.SWbemSink","SINK_")
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
objWMIService.ExecNotificationQueryAsync _
 SINK, _
 "SELECT * FROM  __InstanceModificationEvent " & _
 "WHERE TargetInstance ISA 'Win32_LocalTime'"

Wscript.Echo "タイマー処理を開始します"
' ********************************************************************
' 停止する為のイベントの定義
' ********************************************************************
Set objMonitor = objWMIService.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	" and TargetInstance.Year = 0" _
)

' Wscript.Echo "TargetInstance.Year は 0 にならないので、次の行より後の処理は実行されません"
Set objLatestEvent = objMonitor.NextEvent 
Wscript.Echo "ここは実行されません"

' ********************************************************************
' この処理は、WbemScripting.SWbemSink から呼び出されます
' ********************************************************************
Sub SINK_OnObjectReady(objLatestEvent, objAsyncContext)

	' 10秒毎の処理
	if objLatestEvent.TargetInstance.Second MOD 10 = 0 then
		' ここが 10秒毎に呼び出されます
		Wscript.Echo "秒の余りが 0 の場合にここが実行されます"
		Wscript.Echo "分や時間を使用すると、長いスパンの定期処理に使えます"
	end if

	if Disp then
		' 秒単位に呼び出されるこのルーチンで毎回表示
		Wscript.Echo "Time: " & _
			objLatestEvent.TargetInstance.Hour & ":" & _
			objLatestEvent.TargetInstance.Minute & ":" & _
			objLatestEvent.TargetInstance.Second
	end if
End Sub






posted by lightbox at 2019-03-01 13:29 | VBS + WMI | このブログの読者になる | 更新情報をチェックする

VBScript : スクリプトを終了しないようにする

目的としてはいろいろ考えられますが、ここではよく使われる Sleep の代わりになり、ずっと待ち状態になる方法を紹介します。実際は、時分秒を指定して指定した時刻にのみ処理を開始する事もできます(そのほうが現実的です)。

' このセクションは、cscript.exe で処理を強制させるものです
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
	str = WScript.ScriptFullName
	Set WshShell = CreateObject( "WScript.Shell" )
	Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """ & pause", 3 )
	WScript.Quit
end if

' WMI の処理の為のオブジェクトを取得
Set obj = GetObject("winmgmts:\\.\root\cimv2")
' イベントの定義
Set objMonitor = obj.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	" and TargetInstance.Year = 0" _
)

Wscript.Echo "TargetInstance.Year は 0 にならないので、次の行より後の処理は実行されません"
Set objLatestEvent = objMonitor.NextEvent 
Wscript.Echo "ここは実行されません"




プロバティとしては以下が使用できます
class Win32_LocalTime : Win32_CurrentTime
{
  uint32 Day;
  uint32 DayOfWeek;
  uint32 Hour;
  uint32 Milliseconds;
  uint32 Minute;
  uint32 Month;
  uint32 Quarter;
  uint32 Second;
  uint32 WeekInMonth;
  uint32 Year;
};


▼ 実際に select * from Win32_LocalTime で取得したサンプルです
DayDayOfWeekHourMillisecondsMinuteMonthQuarterSecondWeekInMonthYear
2241949522242014




タグ:VBScript WMI
posted by lightbox at 2019-03-01 13:25 | VBS + WMI | このブログの読者になる | 更新情報をチェックする

2019年02月18日


64ビット PC の VBScript で 32ビット ODBC ドライバの一覧を取得する( ODBC 接続のドライバ文字列を正しく取得したい )

最初の『管理者として cscript 実行を強制する』は、cscript での実行を強制するついでに実装しています。(なんらかの制限環境でも動くようにとの考慮です。)

目的は、レジストリのキーの一覧ですが、キーの一覧は知る限り、WMI でしか取得できないので、GetObject("Winmgmts:root\default:StdRegProv") でレジストリ処理用のオブジェクトを取得して使用します。

一覧表示は、cscript で実行を強制しているので単純に Wscript.Echo で出力。コマンドプロンプトを新たに作成して実行するので、結果の表示を止めるために、Wscript.StdIn.ReadLine です。
' 管理者として cscript 実行を強制する
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "cscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
	Wscript.Quit
end if

const WMI_HKEY_LOCAL_MACHINE = &H80000002

Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")

strBasePath = "SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI"

Call objRegistry.EnumKey( WMI_HKEY_LOCAL_MACHINE, strBasePath, aKeys )

For Each strKeyPath in aKeys
	Wscript.Echo strKeyPath
Next

Wscript.StdIn.ReadLine

実際はいくつか変なのが混じっていますが ODBC 接続のドライバ文字列が欲しい場合を想定しているので、その場合はそれは排除して見れると思います。



※ コマンドプロンプトのプロパティで、簡易編集モードを ON にして、範囲をドラッグして右クリックでコピーできます。

※ コマンドプロンプトならば、『reg query HKLM\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI』ですから、リダイレクトしてファイルに表示結果を書き込めばいいでしょう( 但し、キーが全て表示されるのでとても見にくいです )
reg query HKLM\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI > list.txt
posted by lightbox at 2019-02-18 17:03 | VBS + WMI | このブログの読者になる | 更新情報をチェックする

2016年12月24日


VBScript + WMI : ファイルの状態の監視

WMI の典型的なイベント監視のサンプルです。
( リンク先は、Microsoft の TechNet のスクリプト センターです )

ファイル作成の監視
1) C:\scripts フォルダを作成します。
2) 適当な場所にスクリプトを作成します(file_create.vbs)
3) そのフォルダをエクスプローラでSHIFTキーを押しながら右クリックしてコマンドブロンプトを開きます
4) cscript file_create.vbs と実行します
5) C:\scripts でファイルを作成します
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & _  
        strComputer & "\root\cimv2")  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _  
        & "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _  
            & "TargetInstance.GroupComponent= " _  
                & "'Win32_Directory.Name=""c:\\\\scripts""'")  
Do  
    Set objLatestEvent = colMonitoredEvents.NextEvent  
    Wscript.Echo objLatestEvent.TargetInstance.PartComponent  
Loop  

ファイル変更の監視
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & _  
        strComputer & "\root\cimv2")  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE " _  
        & "TargetInstance ISA 'CIM_DataFile' and " _  
            & "TargetInstance.Name='c:\\scripts\\index.vbs'")  
Do  
    Set objLatestEvent = colMonitoredEvents.NextEvent  
    Wscript.Echo "File: " & objLatestEvent.TargetInstance.Name  
    Wscript.Echo "New size: " & objLatestEvent.TargetInstance.FileSize  
    Wscript.Echo "Old size: " & objLatestEvent.PreviousInstance.FileSize  
Loop  
ファイル削除の監視
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & _  
        strComputer & "\root\cimv2")  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("SELECT * FROM __InstanceDeletionEvent WITHIN 10 WHERE " _  
        & "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _  
            & "TargetInstance.GroupComponent= " _  
                & "'Win32_Directory.Name=""c:\\\\scripts""'")  
Do  
    Set objLatestEvent = colMonitoredEvents.NextEvent  
    Wscript.Echo objLatestEvent.TargetInstance.PartComponent  
Loop  
利用できるディスク領域の監視
Const LOCAL_HARD_DISK = 3  
strComputer = "."  
Set objWMIService = GetObject("winmgmts:" _  
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
Set colMonitoredDisks = objWMIService.ExecNotificationQuery _  
    ("Select * from __instancemodificationevent within 30 where " _  
        & "TargetInstance isa 'Win32_LogicalDisk'")  

Do 
    Set objDiskChange = colMonitoredDisks.NextEvent  
    If objDiskChange.TargetInstance.DriveType = LOCAL_HARD_DISK Then  
        If objDiskChange.TargetInstance.Size < 100000000 Then  
            Wscript.Echo "Hard disk space is below 100000000 bytes."  
        End If  
    End If  
Loop  



posted by lightbox at 2016-12-24 14:34 | VBS + WMI | このブログの読者になる | 更新情報をチェックする

2015年02月25日


VBScript : WMI と NT Provider(ADSI) をそれぞれ使用して、共有を『登録』『一覧』『削除』するサンプル

処理が失敗して共有がもし残った場合は、Windows のコンピュータの管理(%windir%\system32\compmgmt.msc /s)から『共有の停止』を実行します

サンプルでは、WMI と ADSI の両方で処理を記述していますが、WMI のほうが今では推奨されると思います。ADSI のドキュメントは解りにくい上にちゃんとしたものが無いので、これ以上の事をしようとすると苦労すると思います。但し、ローカルユーザを自動的に大量に登録する必要がある場合は、NT Provider は比較的簡単かもしれません。

関連する Microsoft のドキュメント

ADSI を使用してファイル共有を管理する方法
How Can I Share a Folder on a Remote Computer?
Win32_Share class
<JOB>
<OBJECT id="WshShell" progid="WScript.Shell" />
<OBJECT id="Fso" progid="Scripting.FileSystemObject" />
<SCRIPT language="VBScript">

Crun

' **************************************
' スクリプトが存在するディレクトリを取得
' **************************************
strScriptPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strScriptPath )
Set obj = obj.ParentFolder
strScriptPath = obj.Path

' **************************************
' 共有作成(WMI)
' **************************************
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set objShare = objWMIService.Get("Win32_Share")
Call objShare.Create( strScriptPath, "ここが共有名ですA", 0 )

' **************************************
' 共有一覧(WMI)
' **************************************
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
Wscript.Echo "【共有一覧】"
Wscript.Echo "----------------------------------------------------"
For Each Share In colShares
	Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path
Next
Wscript.Echo

' **************************************
' 共有削除(WMI)
' **************************************
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share where Name = 'ここが共有名ですA'")
For Each Share In colShares
	Share.Delete
Next
Wscript.Echo

' **************************************
' 共有作成(WinNT Provider)
' **************************************
Set colShares = GetObject("WinNT://./LanmanServer")
Set objShare = colShares.Create("fileshare", "ここが共有名ですB")
objShare.Path = strScriptPath
objShare.SetInfo

' **************************************
' 共有一覧(WinNT Provider)
' **************************************
Wscript.Echo "【共有一覧】"
Wscript.Echo "----------------------------------------------------"
For Each Share In colShares
	Wscript.Echo RpadB(Share.Name, " ", 20) & " : " & Share.Path
Next
Wscript.Echo

' **************************************
' 共有削除(WinNT Provider)
' **************************************
colShares.Delete "fileshare", "ここが共有名ですB"
Wscript.Echo

' 終了確認
Wscript.Echo "処理が終了しました"

' **************************************
' Cscript.exe で実行を強制
' Cscript.exe の実行終了後 pause で一時停止
' **************************************
Function Crun( )

	Dim str

	str = WScript.FullName
	str = Right( str, 11 )
	str = Ucase( str )
	if str <> "CSCRIPT.EXE" then
		str = WScript.ScriptFullName

		strParam = " "
		For I = 0 to Wscript.Arguments.Count - 1
			if instr(Wscript.Arguments(I), " ") < 1 then
				strParam = strParam & Wscript.Arguments(I) & " "
			else
				strParam = strParam & Dd(Wscript.Arguments(I)) & " "
			end if
		Next
		Call WshShell.Run( "cmd.exe /c cscript.exe " & Dd(str) & strParam & " & pause", 3 )
		WScript.Quit
	end if

End Function
' **************************************
' 文字列を " で囲む関数
' **************************************
Function Dd( strValue )

	Dd = """" & strValue & """"

End function

' **************************************
' 文字列の右側をスペースで埋める
' **************************************
Function RpadB( strValue, str, nLen )

	Dim strWork,nLen2

	strWork = Left( strValue & String(nLen,str), nLen )
	nLen2 = nLen

	Do While ByteLen( strWork ) > nLen
		nLen2 = nLen2 - 1
		if nLen2 <= 0 then
			Exit Do
		end if
		strWork = Left( strValue & String(nLen,str), nLen2 )
	Loop
	RpadB = strWork

End function
' **************************************
' 文字列のバイト計算
' **************************************
Function ByteLen( strTarget )

	Dim i,nLen,nRet,strMoji,nAsc

	nRet = 0

	nLen = Len( strTarget )

	For i = 1 to nLen
		nRet = nRet + 2
		strMoji = Mid( strTarget, i, 1 )
		nAsc = Asc( strMoji )
		if &H0 <= nAsc and nAsc <= &H80 then
			nRet = nRet - 1
		end if
		if &HA0 <= nAsc and nAsc <= &HDF then
			nRet = nRet - 1
		end if
		if &HFD <= nAsc and nAsc <= &HFF then
			nRet = nRet - 1
		end if
	Next

	ByteLen = nRet

End Function
</SCRIPT>
</JOB>


実行結果

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

【共有一覧】
----------------------------------------------------
ADMIN$               : C:\Windows
C$                   : C:\
D$                   : D:\
IPC$                 :
print$               : C:\Windows\system32\spool\drivers
temp                 : C:\Users\lightbox\AppData\Local\Temp
Users                : C:\Users
ここが共有名ですA    : C:\user\vbs


【共有一覧】
----------------------------------------------------
print$               : C:\Windows\system32\spool\drivers
temp                 : C:\Users\lightbox\AppData\Local\Temp
Users                : C:\Users
ここが共有名ですB    : C:\user\vbs


処理が終了しました
続行するには何かキーを押してください . . .
※ 実行終了後、共有は削除されています
posted by lightbox at 2015-02-25 16:00 | VBS + WMI | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり