ファイル名の空白を置き替える

注意 このブログは、’と“”が全角に置き換わるので、vbsファイルへコピー後に、半角のシングルクォーテーションと半角のダブルクォーテーションに置き換えること
※ “と”をダブルクォーテーションに置き換える

Option Explicit
‘************************
‘カレントディレクトリのファイル名の半角をアンダーバーに置き換える

Dim after

Dim objFolder
Dim objFile
Dim objFileSys
Dim strExtension
Dim myPath
Dim objShell

Set objShell = CreateObject( “WScript.Shell” )
myPath = objShell.CurrentDirectory ‘myPathをカレントディレクトリ指定 ここを変更すると任意のディレクトリにも出来る
Set objShell = Nothing

‘ファイルシステムを扱うオブジェクトを作成
Set objFile = CreateObject(“Scripting.FileSystemObject”)
Set objFileSys = CreateObject(“Scripting.FileSystemObject”) ‘拡張子取得用

‘フォルダのオブジェクトを取得
Set objFolder = objFile.GetFolder(myPath)

‘FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
For Each objFile In objFolder.Files

‘ファイルの拡張子を取得
strExtension = objFileSys.GetExtensionName(objFile.Name)

If strExtension <> “” Then ‘<>””は未指定、=”pptx”等で拡張子を指定できる

If InStr(objFile.Name,” “) Then ‘空白を含む場合のみ処理
after = Replace(objFile.Name,” “,”_”)
‘ファイル名変更
objFile.Name = after
End If

If InStr(objFile.Name,” ”) Then ‘全角の空白も処理にしている 不要ならコメントアウト
after = Replace(objFile.Name,” ”,”_”)
‘ファイル名変更
objFile.Name = after
End If

End If

Next

Set objFile = Nothing
Set objFileSys = Nothing
Set objFolder = Nothing

Wscript.Echo “完了しました” ‘不要ならコメントアウト