【VBScript】ファイル名一括変更(下n桁を別の文字列に置換する)スクリプト


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

作業を効率化するために作成したので載せておきます。

はじめに

ドラッグ&ドロップしたファイルの拡張子を除くファイル名の下n桁を別の文字列に置き換えるスクリプトを作成したので、公開しようと思います。
汎用的に作っておらず、そのままでは使いづらいと思いますので、本スクリプトを雛形として、ご自由に加工して頂ければと思います。

サンプルのスクリプトは以下のような動作となります。

■ファイル名の変更前■
aaa_00.txt
bbb_01.txt
ccc_02.txt

↓上記ファイルをスクリプトにドラッグ&ドロップすると、、

■ファイル名の変更後■
aaa_03.txt
bbb_03.txt
ccc_03.txt

拡張子を除くファイル名の末尾が全て「03」となります。

ソースコード

サンプルスクリプトのソースコードです。

コメントにもありますが、4行目で置き換える文字数を指定、
7行目で置き換える文字列を指定することが出来ます。

Option Explicit

' 末尾から置き換える文字数(拡張子は除く)
Const LENGTH = 2

' 置き換える文字列
Const STR = "03"

' ドラッグアンドドロップされたデータを格納する変数
Dim args
Set args = WScript.Arguments

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

' ファイルのフルパス、パス、ファイル名、拡張子
Dim fullpath, filepath, filename, ext 

For Each fullpath In args

	' 拡張子の取得
	ext = fso.GetExtensionName(fullpath)
	
	' ファイル名の取得
	fileName = fso.GetFileName(fullpath)
	
	' ファイル名の生成
	fileName = Replace(fileName, "." & ext, "")
	fileName = Left(fileName, Len(fileName) - LENGTH)
	fileName = fileName & STR & "." & ext
	
	' ファイル名の変更
	Set file = fso.GetFile(fullpath)
	file.Name = fileName

Next

' オブジェクトの破棄
Set file = Nothing
Set fso = Nothing

スクリプトの各機能について

スクリプトの各機能についての解説ページをまとめました。

コメント

タイトルとURLをコピーしました