#navi(../)
* ファイルかフォルダーのどちらであるかを判定する [#j4dcac4c]
FileSystemObjectのFolderExistsメソッド, FileExistsメソッドの2つを使用して、引数で指定されたファイルまたはフォルダーがファイルなのかフォルダーなのかを判別するVBScriptサンプルコードを作成しました。~
以下にVBScriptで作成したサンプルコードと実行結果について記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 関連記事 [#s8419a82]
-[[ファイルの存在チェックを行う・FileExists>WSH/ファイルの存在チェックを行う・FileExists]]
-[[フォルダの存在チェックを行う・FolderExists>WSH/フォルダの存在チェックを行う・FolderExists]]
-[[WSHで引数を取得する方法・Arguments・Named, Unnamed>WSH/WSHで引数を取得する方法・Arguments・Named, Unnamed]]
* FolderExistsメソッド, FileExistsメソッドを利用したファイル/フォルダー判別スクリプト [#ze9312e1]
#ref(FileOrFolder.vbs)
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メソッドを利用して、ファイルまたはフォルダーの判別をしています。
* サンプルスクリプトの実行結果 [#ad88f72e]
以下に上記のVBScriptサンプルコードの実行結果を記します。
- 引数をあたえていない場合
C:\wsh>cscript /nologo FileOrFolder.vbs
Usage : FileOrFolder.vbs <file or folder path>
- 引数にC:\windowsをあたえた場合
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.
#htmlinsertpcsp(win-btm.html,win-sp.html)