アプリス

フリーソフト
暗号文(暗号化)
  複合化
.htaccessパスワード作成
サンプルコード
  HPテクニック
  WSH

WSH

テクニック一覧


WSHとは?

ウィンドウズでのいろいろな動作をコントロールするためのスクリプト言語です。
※WSH = Windows Scripting Host = ウィンドウズ スクリプティング ホスト


WSHで何ができる?

一連の作業の自動化
繰り返し行う作業の自動化
複数のファイルの拡張子を一括に変更
同じ拡張子のファイルの抽出・コピー
など‥


ファイルの作成方法

気に入ったスクリプトのコードをコピーして、メモ帳を起動。
メモ帳内で、キーボードのCtrlを押しながらVを押す。(貼り付け作業)
メモ帳にコードをコピーできたら、キーボードのCtrlを押しながらSを押す。(保存作業)
  保存する場所 = どこでもOK
  ファイル名 = プログラム集のタイトルの末が(vbs)の場合は、*.vbs、(htm)の場合は、*.htm
  ファイルの種類 = すべてのファイル
として をクリック。


1.ファイルをバックアップするスクリプト (vbs)

C:\WINDOWS\Web\Wallpaper\*.jpg
└ コピー元のファイルパス
C:\WINDOWS\Temp\
└ コピー先のフォルダパス
MsgBox ""
└ 終了メッセージ

Set Obj = CreateObject("Scripting.fileSystemObject")
Obj.CopyFile "C:\WINDOWS\Web\Wallpaper\*.jpg","C:\WINDOWS\Temp\"
MsgBox "Wallpaper フォルダ内の jpg ファイルを Temp フォルダにバックアップしました。"

up 上へ

2.今日更新したファイルをバックアップするスクリプト (vbs)

Shell.SpecialFolders("MyDocuments")
└ sfpにマイドキュメントフォルダを格納
Obj.GetFolder()
└ コピー元のフォルダパス
C:\WINDOWS\Temp\
└ コピー先のフォルダパス
MsgBox ""
└ 終了メッセージ

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("MyDocuments")
Set Obj = CreateObject("Scripting.fileSystemObject")
Set rootcopy = Obj.GetFolder(sfp)
For Each F In rootcopy.Files
if InStr(CStr(F.DateLastModified),CStr(Date)) = 1 Then F.Copy "C:\WINDOWS\Temp\"
Next
MsgBox "My Documents フォルダ内の今日更新したファイルを Temp フォルダにバックアップしました。"

up 上へ

3.ファイルをコピーするスクリプト (htm)

InputFil = InputTxt.value
└ コピー元に入力したパスを格納
OutputFil = OutputTxt.value
└ コピー先に入力したパスを格納
MsgBox ""
└ 終了メッセージ

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" content="Azxi">
<SCRIPT language="VBScript">
<!--
Sub CopyBtn_OnClick
Set Obj = CreateObject("Scripting.fileSystemObject")
InputFil = InputTxt.value
OutputFil = OutputTxt.value
Obj.CopyFile InputFil,OutputFil
MsgBox "コピーが完了しました。"
End Sub
//-->
</SCRIPT>
<TITLE>ファイルをコピーするスクリプト</TITLE>
<STYLE type="text/css">
<!--BODY{font-size : 9pt;}-->
</STYLE>
</HEAD>
<BODY>
<P>コピー元<BR>
<INPUT size="56" type="text" name="InputTxt" value="C:\WINDOWS\Web\Wallpaper\*.jpg"></P>
<P>コピー先<BR>
<INPUT size="56" type="text" name="OutputTxt" value="C:\WINDOWS\Temp\"></P>
<P><INPUT type="button" name="CopyBtn" value="コピー"></P>
</BODY>
</HTML>

up 上へ

4.ファイルのプロパティを表示するスクリプト for VBS (vbs)

InputBox()
└ パス入力時のメッセージ
str = ""
└ strにファイル検出時のメッセージを格納
str = ""
└ strにファイル未検出時のメッセージを格納
MsgBox ""
└ ファイルのプロパティを表示

Set Obj = CreateObject("Scripting.fileSystemObject")
fullpath = InputBox("ファイルのパスを入力してください。")
If Obj.FileExists(fullpath) = True Then
Set F = Obj.GetFile(fullpath)
str = "ファイル名" & vbCrLf & "└ " & F.Name & vbCrLf & vbCrLf & "サイズ" & vbCrLf & "└ " & F.Size & " バイト" & vbCrLf & vbCrLf & "更新日時" & vbCrLf & "└ " & F.DateLastModified
Else
str = "指定したファイルが見つかりません。"
End If
MsgBox str

up 上へ

5.ファイルのプロパティを表示するスクリプト for HTML (htm)

FPath = InputTxt.value
└ 参照したパスをFPathに格納
If...
└ ファイル/フォルダの判断
Document.write ""
└ パスが正しくないときのメッセージを表示
Document.write ""
└ 各情報を表示

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" content="Azxi">
<SCRIPT language="VBScript">
<!--
Sub CheckBtn_OnClick
Set Obj = CreateObject("Scripting.fileSystemObject")
FPath = InputTxt.value
On Error Resume Next
If FChk(0).checked = true Then Set F = Obj.GetFile(FPath) Else Set F = Obj.GetFolder(FPath)
If Err.Number <> 0 Then
Document.write "<B>ファイル/フォルダが見つかりません。</B>"
Exit Sub
End If
Document.write "<B>" & "[ " & FPath & " ]" & "</B><P>"
Document.write "<B>ファイル/フォルダ名</B><BR>"
Document.write F.Name & "<BR>"
Document.write "<B>ドライブ名</B><BR>"
Document.write F.Drive & "<BR>"
Document.write "<B>パス名</B><BR>"
Document.write F.Path & "<BR>"
Document.write "<B>サイズ</B><BR>"
Document.write F.Size & " バイト<BR>"
Document.write "<B>作成日時</B><BR>"
Document.write F.DateCreated & "<BR>"
Document.write "<B>更新日時</B><BR>"
Document.write F.DateLastModified & "<BR>"
Document.write "<B>アクセス日</B><BR>"
Document.write F.DateLastAccessed
End Sub
//-->
</SCRIPT>
<TITLE>ファイルのプロパティを表示するスクリプト for HTML</TITLE>
<STYLE type="text/css">
<!--BODY{font-size : 9pt;}-->
</STYLE>
</HEAD>
<BODY>
<P><INPUT type="radio" name="FChk" value="file" checked> ファイル<BR>
<INPUT type="radio" name="FChk" value="folder"> フォルダ</P>
<P>ファイル/フォルダのパスを参照<BR>
<INPUT size="56" type="file" name="InputTxt"> <INPUT type="submit" name="CheckBtn" value="表示"></P>
</BODY>
</HTML>

up 上へ

6.メモ帳を起動するスクリプト (vbs)

Set Shell = CreateObject("WScript.Shell")
Shell.Run "Notepad.exe"

up 上へ

7.テキストファイルを指定してメモ帳を起動するスクリプト (vbs)

C:\WINDOWS\Temp\Sample.txt
└ テキストファイルのパスを入力

Set Shell = CreateObject("WScript.Shell")
Shell.Run "Notepad.exe C:\WINDOWS\Temp\Sample.txt"

up 上へ

8.エクスプローラを起動するスクリプト (vbs)

Set Shell = CreateObject("WScript.Shell")
Shell.Run "explorer.exe"

up 上へ

9.フォルダを指定してエクスプローラを起動するスクリプト (vbs)

C:\WINDOWS\Temp\
└ フォルダのパスを入力

Set Shell = CreateObject("WScript.Shell")
Shell.Run "explorer.exe /n,/e,C:\WINDOWS\Temp\"

up 上へ

10.アプリケーションを起動するスクリプト (htm)

Shell.Run "C:\WINDOWS\NOTEPAD.EXE"
└ メモ帳のパスを入力
Shell.Run "C:\WINDOWS\explorer.exe"
└ エクスプローラのパスを入力
"C:\WINDOWS\system32\mspaint.exe"
└ ペイントのパスを入力

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" content="Azxi">
<SCRIPT language="VBScript">
<!--
Set Shell = CreateObject("WScript.Shell")
Sub Btn01_OnClick
Shell.Run "C:\WINDOWS\NOTEPAD.EXE"
End Sub
Sub Btn02_OnClick
Shell.Run "C:\WINDOWS\explorer.exe"
End Sub
Sub Btn03_OnClick
Shell.Run "C:\WINDOWS\system32\mspaint.exe"
End Sub
-->
</SCRIPT>
<TITLE>アプリケーションを起動するスクリプト</TITLE>
<STYLE type="text/css">
<!--BODY{font-size : 9pt;}-->
</STYLE>
</HEAD>
<BODY>
<P><INPUT type="button" name="Btn01" value="メモ帳"></P>
<P><INPUT type="button" name="Btn02" value="エクスプローラ"></P>
<P><INPUT type="button" name="Btn03" value="ペイント"></P>
</BODY>
</HTML>

up 上へ

11.お気に入りを作成するスクリプト (vbs)

Shell.SpecialFolders("DeskTop")
└ sfpにデスクトップフォルダを格納
name = InputBox("お気に入り名を入力してください。")
└ お気に入り名をnemeに格納
If name = "" Then Shell.quit
└ お気に入り名が空白であれば中断
url = InputBox("URLを入力してください。",, "http://")
└ URLをurlに格納
If url = "" Then Shell.quit
└ URLが空白であれば中断

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("DeskTop")
name = InputBox("お気に入り名を入力してください。")
If name = "" Then Shell.quit
url = InputBox("URLを入力してください。",, "http://")
If url = "" Then Shell.quit
Set URLShortcut = Shell.CreateShortcut(sfp & "\" & name & ".url")
URLShortcut.targetpath = url
URLShortcut.save

up 上へ

12.エクスプローラにより [ マイ ドキュメント ] を開くスクリプト (vbs)

Shell.SpecialFolders("MyDocuments")
└ sfpにマイドキュメントフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("MyDocuments")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

13.エクスプローラにより [ 送る ] を開くスクリプト (vbs)

Shell.SpecialFolders("SendTo")
└ sfpに送るフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("SendTo")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

14.エクスプローラにより [ お気に入り ] を開くスクリプト (vbs)

Shell.SpecialFolders("Favorites")
└ sfpにお気に入りフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("Favorites")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

15.エクスプローラにより [ スタートメニュー ] を開くスクリプト (vbs)

Shell.SpecialFolders("StartMenu")
└ sfpにスタートメニューフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("StartMenu")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

16.エクスプローラにより [ デスクトップ ] を開くスクリプト (vbs)

Shell.SpecialFolders("DeskTop")
└ sfpにデスクトップフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("DeskTop")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

17.エクスプローラにより [ 最近使ったファイル ] を開くスクリプト (vbs)

Shell.SpecialFolders("Recent")
└ sfpに最近使ったファイルフォルダを格納
Open()
└ エクスプローラで開くフォルダを指定

Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("Recent")
Set IEShell = CreateObject("Shell.Application")
IEShell.Open(sfp)

up 上へ

18.開いているウィンドウをすべて整頓するスクリプト (vbs)

Set IEShell = CreateObject("Shell.Application")
IEShell.TileVertically

up 上へ

19.開いているウィンドウをすべて最小化するスクリプト (vbs)

Set IEShell = CreateObject("Shell.Application")
IEShell.MinimizeAll

up 上へ

20.ショートカットを作成するスクリプト (htm)

sfp = Shell.SpecialFolders("Desktop")
└ sfpにデスクトップフォルダを格納
○○○
└ ショートカット名を入力
MsgBox ""
└ 終了メッセージ

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" content="Azxi">
<SCRIPT language="VBScript">
<!--
Sub ShortcutBtn_OnClick
Set Shell = CreateObject("WScript.Shell")
sfp = Shell.SpecialFolders("Desktop")
Set i06 = Shell.CreateShortcut(sfp & "\○○○.lnk")
i06.TargetPath = apppath.Value
i06.Save
MsgBox "ショートカットを作成しました。"
End Sub
//-->
</SCRIPT>
<TITLE>ショートカットを作成するスクリプト</TITLE>
<STYLE type="text/css">
<!--BODY{font-size : 9pt;}-->
</STYLE>
</HEAD>
<BODY>
<P><INPUT size="56" type="file" name="apppath"> <INPUT type="button" value="作成" name="ShortcutBtn"></P>
</BODY>
</HTML>

up 上へ

21.ショートカットマークを表示/非表示するスクリプト (vbs)

i = InputBox("1.ショートカットマークを表示" & vbCr & "2.ショートカットマークを非表示" & vbCr & vbCr & vbCr & "No. を入力してください。")
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
If i = 1 Then
WshShell.RegWrite "HKCR\lnkfile\IsShortcut", ""
ElseIf i = 2 Then
WshShell.RegDelete "HKCR\lnkfile\IsShortcut"
Else
WScript.Quit
End If

up 上へ

22.ビットマップファイルのアイコンを画像で表示するスクリプト (vbs)

i = InputBox("1.アイコン表示" & vbCr & "2.画像表示" & vbCr & vbCr & vbCr & "No. を入力してください。")
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
If i = 1 Then
WshShell.RegWrite "HKCR\Paint.Picture\DefaultIcon\", "%SystemRoot%\System32\mspaint.exe,1"
ElseIf i = 2 Then
WshShell.RegWrite "HKCR\Paint.Picture\DefaultIcon\", "%1"
Else
WScript.Quit
End If

up 上へ

23.ウィンドウを操作するスクリプト (vbs)

CascadeWindows
└ 重ねて表示
TileHorizontally
└ 上下に並べて表示
TileVertically
└ 左右に並べて表示
MinimizeAll
└ デスクトップを表示
UndoMinimizeALL
└ 元に戻す

Set Shell = Wscript.CreateObject("Shell.Application")
Shell.CascadeWindows
Shell.TileHorizontally
Shell.TileVertically
Shell.MinimizeAll
Shell.UndoMinimizeALL

up 上へ

24.エクスプローラを2つ起動して左右に並べて表示するスクリプト (vbs)

C:\WINDOWS\Temp\
└ フォルダのパスを入力
1000
└ 処理を1秒間空ける
TileVertically
└ 左右に並べて表示

Set Shell = CreateObject("WScript.Shell")
Shell.Run "explorer.exe /n,/e,C:\WINDOWS\Temp\"
Shell.Run "explorer.exe /n,/e,C:\WINDOWS\Temp\"
WScript.Sleep (1000)
Set Shell = Wscript.CreateObject("Shell.Application")
Shell.TileVertically

up 上へ

©applis.org