FileSystemObjectのFolderExistsメソッド, FileExistsメソッドの2つを使用して、引数で指定されたファイルまたはフォルダーがファイルなのかフォルダーなのかを判別するVBScriptサンプルコードを作成しました。
以下にVBScriptで作成したサンプルコードと実行結果について記します。
1: Set oArgs = WScript.Arguments
2:
3: If oArgs.Count <> 1 Then
4: WScript.Echo "Usage : " & WScript.ScriptName & " <file or folder path>"
5: WScript.Quit
6: End If
7:
8: Set fso = CreateObject("Scripting.FileSystemObject")
9: If fso.FolderExists(oArgs(0)) Then
10: WScript.Echo oArgs(0) & " is folder."
11: ElseIf fso.FileExists(oArgs(0)) Then
12: WScript.Echo oArgs(0) & " is file."
13: Else
14: WScript.Echo oArgs(0) & " is unknown or nothing."
15: End If
16:
17: Set fso = Nothing
18: Set oArgs = Nothing
本スクリプトは引数で渡された文字列がファイルまたはフォルダーのどちらであるかを判別しています。
3行目から6行目までは引数の数に誤りがある場合、Usageメッセージを表示して終了しています。
8行目から15行目にFolderExistsメソッド, FileExistsメソッドを利用して、ファイルまたはフォルダーの判別をしています。
以下に上記のVBScriptサンプルコードの実行結果を記します。
C:\wsh>cscript /nologo FileOrFolder.vbs Usage : FileOrFolder.vbs <file or folder path>
C:\wsh>cscript /nologo FileOrFolder.vbs c:\windows c:\windows is folder.
C:\wsh>cscript /nologo FileOrFolder.vbs FileOrFolder.vbs FileOrFolder.vbs is file.
C:\wsh>cscript /nologo FileOrFolder.vbs d:\hoge.txt d:\hoge.txt is unknown or nothing.