2014年11月28日


JScript : ディレクトリ選択

4番目の引数は省略できますが、その場合は以下のようになります



var Shell = new ActiveXObject("Shell.Application");
var objFolder = Shell.BrowseForFolder( 0, "フォルダ選択", 0x4B, 0x5 );
if ( objFolder == null ) {
	WScript.Quit();
}
if ( !objFolder.Self.IsFileSystem ) {
	WScript.Echo("ファイルシステムではありません" );
	WScript.Quit();
}

WScript.Echo( objFolder.Self.Path );

関連する記事

VBScript : ディレクトリ選択



typedef enum {
	ssfALTSTARTUP = 0x1d,
	ssfAPPDATA = 0x1a,
	ssfBITBUCKET = 0x0a,
	ssfCOMMONALTSTARTUP = 0x1e,
	ssfCOMMONAPPDATA = 0x23,
	ssfCOMMONDESKTOPDIR = 0x19,
	ssfCOMMONFAVORITES = 0x1f,
	ssfCOMMONPROGRAMS = 0x17,
	ssfCOMMONSTARTMENU = 0x16,
	ssfCOMMONSTARTUP = 0x18,
	ssfCONTROLS = 0x03,
	ssfCOOKIES = 0x21,
	ssfDESKTOP = 0x00,
	ssfDESKTOPDIRECTORY = 0x10,
	ssfDRIVES = 0x11,
	ssfFAVORITES = 0x06,
	ssfFONTS = 0x14,
	ssfHISTORY = 0x22,
	ssfINTERNETCACHE = 0x20,
	ssfLOCALAPPDATA = 0x1c,
	ssfMYPICTURES = 0x27,
	ssfNETHOOD = 0x13,
	ssfNETWORK = 0x12,
	ssfPERSONAL = 0x05,
	ssfPRINTERS = 0x04,
	ssfPRINTHOOD = 0x1b,
	ssfPROFILE = 0x28,
	ssfPROGRAMFILES = 0x26,
	ssfPROGRAMFILESx86 = 0x30,
	ssfPROGRAMS = 0x02,
	ssfRECENT = 0x08,
	ssfSENDTO = 0x09,
	ssfSTARTMENU = 0x0b,
	ssfSTARTUP = 0x07,
	ssfSYSTEM = 0x25,
	ssfSYSTEMx86 = 0x29,
	ssfTEMPLATES = 0x15,
	ssfWINDOWS = 0x24
} ShellSpecialFolderConstants;




posted by at 2014-11-28 03:02 | ツール関数 | このブログの読者になる | 更新情報をチェックする

2014年07月17日


PowerShell2.0 : 最初の設定( set-executionpolicy remotesigned の実行 )

set-executionpolicy remotesigned を実行する為には、コマンドプロンプトは、『管理者として実行』で開きましょう

set-executionpolicy remotesigned の実行は、PowerShell のコマンドの実行なので、コマンドプロンプトから、powershell.exe が実行された状態で行って下さい。


最初、スクリプトを実行しようとすると、エラーとなってget-help about_signing を参照するように求められます。

以下の部分が必要なところで、remotesigned 実行ポリシーに変更します
署名されているスクリプトの実行の許可
-------------------------------
コンピューター上で初めて Windows PowerShell を起動すると、通常は Restricted 実行ポリシー (既定値) が有効になります。

Restricted 実行ポリシーでは、すべてのスクリプトの実行が禁止されます。

コンピューター上の有効な実行ポリシーを調べるには、次のように入力します。

  get-executionpolicy

自分がローカル コンピューター上で作成した署名のないスクリプトおよび他のユーザーの署名が付けられたスクリプトを実行するには、次のコマンドを使用して、コンピューター上の実行ポリシーをRemoteSigned に変更します。

  set-executionpolicy remotesigned

詳細については、「Set-ExecutionPolicy」を参照してください。
関連する記事

PowerShell2.0 : 全ての日本語ヘルプファイル(テキスト)を作成するスクリプト
管理者権限でコマンドプロンプトを開く VBScript


タグ:PowerShell
posted by at 2014-07-17 13:59 | PowerShell2.0 | このブログの読者になる | 更新情報をチェックする

2014年05月22日


VBScript : 10秒毎に処理を実行する( 時刻指定も可能 )

コマンドプロンプトで実行しておいて、終了はコマンドプロンプトを閉じます。実行される処理は、非同期では無いので外部のスクリプトをプロセスとして実行するといいでしょう。どうしても、同一スクリプト内で実行したい場合は、Cron の代替え : VBScript でタイマー処理 を参照して下さい
' このセクションは、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

Set obj = GetObject("winmgmts:\\.\root\cimv2")
Set objMonitor = obj.ExecNotificationQuery( _
	"select * from __InstanceModificationEvent " & _
	"where TargetInstance isa 'Win32_LocalTime' " & _
	" and (TargetInstance.Second = 0" & _
	" or TargetInstance.Second = 10" & _
	" or TargetInstance.Second = 20" & _
	" or TargetInstance.Second = 30" & _
	" or TargetInstance.Second = 40" & _
	" or TargetInstance.Second = 50)" _
)

Do


	Set objLatestEvent = objMonitor.NextEvent 

	' ここに処理を記述
	Wscript.Echo Now()

Loop

以下のプロパティが使用できます
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;
};



タグ:VBScript WMI
posted by at 2014-05-22 20:40 | WMI | このブログの読者になる | 更新情報をチェックする