vbs

vbsでサブフォルダ内の拡張子のないファイルに拡張子(*.txt)を付ける

vbsでフォルダ、サブフォルダ内の拡張子のないファイルに拡張子(*.txt)をつける
こつは、右から4番目の1文字、右から5番目の1文字がピリオドかどうかを判断。
ピリオドではない場合、拡張子.txtをつける。
(拡張子が、3桁、4桁限定です。フォルダの中に、それ以外の桁の拡張子がある場合は、
ロジックを追加する必要があります。)


Option Explicit

' 拡張子txtを付加するパス
Dim fileListPath
fileListPath = InputBox("フォルダを入力してください。","入力ダイアログ")

' ファイルシステムオブジェクトの作成
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

' ファイル一覧の取得
Call GetFileList(fso.GetFolder(fileListPath))

' ファイルシステムオブジェクトの破棄
Set fso = Nothing

' 処理終了
msgbox "終了"
WScript.Quit

' ファイル一覧の取得関数
Function GetFileList(Byval targetPath)
        Dim folder, file,pri1,pri2,pri3,pri4

        ' フォルダが存在する場合は、そのフォルダ配下を探索する
        For Each folder In targetPath.SubFolders
            GetFileList(folder)
        Next

        ' 拡張子がない場合は".txt"を付加
        For Each file In targetPath.files
                pri1 = right(file,4)
                pri2 = left(pri1,1)
                pri3 = right(file,5)
                pri4 = left(pri3,1)
                if pri2 <> "." and  pri4 <> "."  then
                    fso.MoveFile file,file &  ".txt" 
                end if
        Next
End Function


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です