WSH/フルパスファイル名からファイル名のみ取り出す方法
の編集
Top
/
WSH
/
フルパスファイル名からファイル名のみ取り出す方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * VBScriptでフルパスでからファイル名のみ取り出す方法 [#t20412aa] VBScriptでフルパスでからファイル名のみ取り出す方法を以下に記します。~ 本記事では、FileSystemObjectのGetBaseName, GetExtensionNameメソッドを使用して実現しています。~ 以下にVBScriptのサンプルコードと実行結果について記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * ファイル名のみ取り出すVBScriptサンプルコード [#oa6a01aa] #ref(basename.vbs) 1: Set fso = CreateObject("Scripting.FileSystemObject") 2: 3: filename = Array("c:\a\b\c\sakura.txt", "c:\x\y\z\tubaki") 4: For i = 0 To UBound(filename) 5: WScript.Echo "Target filename = " & filename(i) 6: basename = fso.GetBaseName(filename(i)) 7: WScript.Echo "GetBaseName = " & basename 8: extension = fso.GetExtensionName(filename(i)) 9: WScript.Echo "GetExtensionName = " & extension 10: If Len(extension) = 0 Then 11: WScript.Echo "FileName = " & basename 12: Else 13: WScript.Echo "FileName = " & basename & "." & extension 14: End If 15: Next 16: 17: Set fso = Nothing 上記のサンプルコードは、以下のように動作します。~ 3行目でプルパス名のファイル名文字列を2つ用意しました。1つ目は拡張子あり。2つ目は拡張子なしになります。~ 4行目と15行目は3行目で設定した要素数分ループするようにしています。~ 6行目でファイル名を取得してます。(拡張子を除く)~ 8行目で拡張子を取得しています。~ 10行目から14行目は、拡張子の有無により拡張子を追加する・しないの処理を行っています。 ** サンプルコード実行結果 [#r28e56cb] 配列に指定した2つのフルパスファイル名からファイル名のみ取得しているのが確認できます。 C:\wsh>cscript /nologo basename.vbs Target filename = c:\a\b\c\sakura.txt GetBaseName = sakura GetExtensionName = txt FileName = sakura.txt Target filename = c:\x\y\z\tubaki GetBaseName = tubaki GetExtensionName = FileName = tubaki #htmlinsertpcsp(win-btm.html,win-sp.html)
タイムスタンプを変更しない
#navi(../) * VBScriptでフルパスでからファイル名のみ取り出す方法 [#t20412aa] VBScriptでフルパスでからファイル名のみ取り出す方法を以下に記します。~ 本記事では、FileSystemObjectのGetBaseName, GetExtensionNameメソッドを使用して実現しています。~ 以下にVBScriptのサンプルコードと実行結果について記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * ファイル名のみ取り出すVBScriptサンプルコード [#oa6a01aa] #ref(basename.vbs) 1: Set fso = CreateObject("Scripting.FileSystemObject") 2: 3: filename = Array("c:\a\b\c\sakura.txt", "c:\x\y\z\tubaki") 4: For i = 0 To UBound(filename) 5: WScript.Echo "Target filename = " & filename(i) 6: basename = fso.GetBaseName(filename(i)) 7: WScript.Echo "GetBaseName = " & basename 8: extension = fso.GetExtensionName(filename(i)) 9: WScript.Echo "GetExtensionName = " & extension 10: If Len(extension) = 0 Then 11: WScript.Echo "FileName = " & basename 12: Else 13: WScript.Echo "FileName = " & basename & "." & extension 14: End If 15: Next 16: 17: Set fso = Nothing 上記のサンプルコードは、以下のように動作します。~ 3行目でプルパス名のファイル名文字列を2つ用意しました。1つ目は拡張子あり。2つ目は拡張子なしになります。~ 4行目と15行目は3行目で設定した要素数分ループするようにしています。~ 6行目でファイル名を取得してます。(拡張子を除く)~ 8行目で拡張子を取得しています。~ 10行目から14行目は、拡張子の有無により拡張子を追加する・しないの処理を行っています。 ** サンプルコード実行結果 [#r28e56cb] 配列に指定した2つのフルパスファイル名からファイル名のみ取得しているのが確認できます。 C:\wsh>cscript /nologo basename.vbs Target filename = c:\a\b\c\sakura.txt GetBaseName = sakura GetExtensionName = txt FileName = sakura.txt Target filename = c:\x\y\z\tubaki GetBaseName = tubaki GetExtensionName = FileName = tubaki #htmlinsertpcsp(win-btm.html,win-sp.html)
テキスト整形のルールを表示する
添付ファイル:
basename.vbs
880件
[
詳細
]