#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS