【 準備 】
下の内容を、適当なテキストエディタに貼り、拡張子を VBS にして保存してあげる。
スクリプト内部で、strReplaceRules に全角英数字を半角英数字に置換するように記述してあるので、必要に応じてルールを追加するといい。
strReplaceRules の上にあるルール (下のコードだと「全角の A (A) を半角の A (A)」から。コードは「Array("A", "A")」。) から順に処理されるので、自身で追加する場合には、上の方に追加することをオススメする。
【 使い方 】
ファイル名置換したいファイルを保存した VBS ファイルにドラッグ&ドロップしてあげればオシマイ。
' ファイル名置換スクリプト
' Copyright (C) 2015 tag. All rights reserved.
Option Explicit
' 置換ルールの定義 (上から順に処理)
Dim strReplaceRules
strReplaceRules = Array( _
Array("A", "A"), _
Array("B", "B"), _
Array("C", "C"), _
Array("D", "D"), _
Array("E", "E"), _
Array("F", "F"), _
Array("G", "G"), _
Array("H", "H"), _
Array("I", "I"), _
Array("J", "J"), _
Array("K", "K"), _
Array("L", "L"), _
Array("M", "M"), _
Array("N", "N"), _
Array("O", "O"), _
Array("P", "P"), _
Array("Q", "Q"), _
Array("R", "R"), _
Array("S", "S"), _
Array("T", "T"), _
Array("U", "U"), _
Array("V", "V"), _
Array("W", "W"), _
Array("X", "X"), _
Array("Y", "Y"), _
Array("Z", "Z"), _
Array("a", "a"), _
Array("b", "b"), _
Array("c", "c"), _
Array("d", "d"), _
Array("e", "e"), _
Array("f", "f"), _
Array("g", "g"), _
Array("h", "h"), _
Array("i", "i"), _
Array("j", "j"), _
Array("k", "k"), _
Array("l", "l"), _
Array("m", "m"), _
Array("n", "n"), _
Array("o", "o"), _
Array("p", "p"), _
Array("q", "q"), _
Array("r", "r"), _
Array("s", "s"), _
Array("t", "t"), _
Array("u", "u"), _
Array("v", "v"), _
Array("w", "w"), _
Array("x", "x"), _
Array("y", "y"), _
Array("z", "z"), _
Array("0", "0"), _
Array("1", "1"), _
Array("2", "2"), _
Array("3", "3"), _
Array("4", "4"), _
Array("5", "5"), _
Array("6", "6"), _
Array("7", "7"), _
Array("8", "8"), _
Array("9", "9"), _
Array(" ", " "))
' FSO の取得
Dim objFso, strTargetFile
Set objFso = CreateObject("Scripting.FileSystemObject")
' 引数の取得
Dim objArgs, idxArgs
Set objArgs = WScript.Arguments
' 引数毎の処理
For idxArgs = 0 To objArgs.Count - 1
' ファイルの取得
Set strTargetFile = objFso.GetFile(WScript.Arguments(idxArgs))
' 置換
Dim i
For i = LBound(strReplaceRules) To UBound(strReplaceRules)
If InStr(strTargetFile.Name, strReplaceRules(i)(0)) > 0 Then
strTargetFile.Name = Replace(strTargetFile.Name, strReplaceRules(i)(0), strReplaceRules(i)(1))
End If
Next
Next
' 終了処理
Set strReplaceRules = Nothing
Set objFso = Nothing
Set strTargetFile = Nothing
Set objArgs = Nothing
' Copyright (C) 2015 tag. All rights reserved.
Option Explicit
' 置換ルールの定義 (上から順に処理)
Dim strReplaceRules
strReplaceRules = Array( _
Array("A", "A"), _
Array("B", "B"), _
Array("C", "C"), _
Array("D", "D"), _
Array("E", "E"), _
Array("F", "F"), _
Array("G", "G"), _
Array("H", "H"), _
Array("I", "I"), _
Array("J", "J"), _
Array("K", "K"), _
Array("L", "L"), _
Array("M", "M"), _
Array("N", "N"), _
Array("O", "O"), _
Array("P", "P"), _
Array("Q", "Q"), _
Array("R", "R"), _
Array("S", "S"), _
Array("T", "T"), _
Array("U", "U"), _
Array("V", "V"), _
Array("W", "W"), _
Array("X", "X"), _
Array("Y", "Y"), _
Array("Z", "Z"), _
Array("a", "a"), _
Array("b", "b"), _
Array("c", "c"), _
Array("d", "d"), _
Array("e", "e"), _
Array("f", "f"), _
Array("g", "g"), _
Array("h", "h"), _
Array("i", "i"), _
Array("j", "j"), _
Array("k", "k"), _
Array("l", "l"), _
Array("m", "m"), _
Array("n", "n"), _
Array("o", "o"), _
Array("p", "p"), _
Array("q", "q"), _
Array("r", "r"), _
Array("s", "s"), _
Array("t", "t"), _
Array("u", "u"), _
Array("v", "v"), _
Array("w", "w"), _
Array("x", "x"), _
Array("y", "y"), _
Array("z", "z"), _
Array("0", "0"), _
Array("1", "1"), _
Array("2", "2"), _
Array("3", "3"), _
Array("4", "4"), _
Array("5", "5"), _
Array("6", "6"), _
Array("7", "7"), _
Array("8", "8"), _
Array("9", "9"), _
Array(" ", " "))
' FSO の取得
Dim objFso, strTargetFile
Set objFso = CreateObject("Scripting.FileSystemObject")
' 引数の取得
Dim objArgs, idxArgs
Set objArgs = WScript.Arguments
' 引数毎の処理
For idxArgs = 0 To objArgs.Count - 1
' ファイルの取得
Set strTargetFile = objFso.GetFile(WScript.Arguments(idxArgs))
' 置換
Dim i
For i = LBound(strReplaceRules) To UBound(strReplaceRules)
If InStr(strTargetFile.Name, strReplaceRules(i)(0)) > 0 Then
strTargetFile.Name = Replace(strTargetFile.Name, strReplaceRules(i)(0), strReplaceRules(i)(1))
End If
Next
Next
' 終了処理
Set strReplaceRules = Nothing
Set objFso = Nothing
Set strTargetFile = Nothing
Set objArgs = Nothing
オマケ
コマンドプロンプト (バッチファイル) から起動するバージョン。説明は省略。
:: ファイル名置換スクリプト (ファイル取り込み部)
:: Copyright (C) 2015 tag. All rights reserved.
@echo off
cd "%~dp0"
set VBSFilePath="%~dp0renamer.vbs"
:start
if "%~1"=="" goto processend
if not "%~x1" == ".mp4" goto next
:process
@echo ==================================================
@echo target: "%~1"
CScript %VBSFilePath% "%~1"
:next
shift
goto start
:processend
::pause > nul
:: Copyright (C) 2015 tag. All rights reserved.
@echo off
cd "%~dp0"
set VBSFilePath="%~dp0renamer.vbs"
:start
if "%~1"=="" goto processend
if not "%~x1" == ".mp4" goto next
:process
@echo ==================================================
@echo target: "%~1"
CScript %VBSFilePath% "%~1"
:next
shift
goto start
:processend
::pause > nul
' ファイル名置換スクリプト (replace.vbs)
' Copyright (C) 2015 tag. All rights reserved.
' 要「ファイル名置換スクリプト (ファイル取り込み部)」
Option Explicit
' 置換ルールの定義
Dim strReplaceRules
strReplaceRules = Array( _
Array("A", "A"), _
Array("B", "B"), _
Array("C", "C"), _
Array("D", "D"), _
Array("E", "E"), _
Array("F", "F"), _
Array("G", "G"), _
Array("H", "H"), _
Array("I", "I"), _
Array("J", "J"), _
Array("K", "K"), _
Array("L", "L"), _
Array("M", "M"), _
Array("N", "N"), _
Array("O", "O"), _
Array("P", "P"), _
Array("Q", "Q"), _
Array("R", "R"), _
Array("S", "S"), _
Array("T", "T"), _
Array("U", "U"), _
Array("V", "V"), _
Array("W", "W"), _
Array("X", "X"), _
Array("Y", "Y"), _
Array("Z", "Z"), _
Array("a", "a"), _
Array("b", "b"), _
Array("c", "c"), _
Array("d", "d"), _
Array("e", "e"), _
Array("f", "f"), _
Array("g", "g"), _
Array("h", "h"), _
Array("i", "i"), _
Array("j", "j"), _
Array("k", "k"), _
Array("l", "l"), _
Array("m", "m"), _
Array("n", "n"), _
Array("o", "o"), _
Array("p", "p"), _
Array("q", "q"), _
Array("r", "r"), _
Array("s", "s"), _
Array("t", "t"), _
Array("u", "u"), _
Array("v", "v"), _
Array("w", "w"), _
Array("x", "x"), _
Array("y", "y"), _
Array("z", "z"), _
Array("0", "0"), _
Array("1", "1"), _
Array("2", "2"), _
Array("3", "3"), _
Array("4", "4"), _
Array("5", "5"), _
Array("6", "6"), _
Array("7", "7"), _
Array("8", "8"), _
Array("9", "9"), _
Array(" ", " "))
' FSO の取得
Dim objFso, strTargetFile
Set objFso = CreateObject("Scripting.FileSystemObject")
' ファイルの取得
Set strTargetFile = objFso.GetFile(WScript.Arguments(0))
' 処理前のファイル名
WScript.echo "Rename (before): " & strTargetFile.Name
' 置換
Dim i
For i = LBound(strReplaceRules) To UBound(strReplaceRules)
If InStr(strTargetFile.Name, strReplaceRules(i)(0)) > 0 Then
strTargetFile.Name = Replace(strTargetFile.Name, strReplaceRules(i)(0), strReplaceRules(i)(1))
End If
Next
' 処理後のファイル名
WScript.echo "Rename (after) : " & strTargetFile.Name
' 終了処理
Set strReplaceRules = Nothing
Set objFso = Nothing
Set strTargetFile = Nothing
' Copyright (C) 2015 tag. All rights reserved.
' 要「ファイル名置換スクリプト (ファイル取り込み部)」
Option Explicit
' 置換ルールの定義
Dim strReplaceRules
strReplaceRules = Array( _
Array("A", "A"), _
Array("B", "B"), _
Array("C", "C"), _
Array("D", "D"), _
Array("E", "E"), _
Array("F", "F"), _
Array("G", "G"), _
Array("H", "H"), _
Array("I", "I"), _
Array("J", "J"), _
Array("K", "K"), _
Array("L", "L"), _
Array("M", "M"), _
Array("N", "N"), _
Array("O", "O"), _
Array("P", "P"), _
Array("Q", "Q"), _
Array("R", "R"), _
Array("S", "S"), _
Array("T", "T"), _
Array("U", "U"), _
Array("V", "V"), _
Array("W", "W"), _
Array("X", "X"), _
Array("Y", "Y"), _
Array("Z", "Z"), _
Array("a", "a"), _
Array("b", "b"), _
Array("c", "c"), _
Array("d", "d"), _
Array("e", "e"), _
Array("f", "f"), _
Array("g", "g"), _
Array("h", "h"), _
Array("i", "i"), _
Array("j", "j"), _
Array("k", "k"), _
Array("l", "l"), _
Array("m", "m"), _
Array("n", "n"), _
Array("o", "o"), _
Array("p", "p"), _
Array("q", "q"), _
Array("r", "r"), _
Array("s", "s"), _
Array("t", "t"), _
Array("u", "u"), _
Array("v", "v"), _
Array("w", "w"), _
Array("x", "x"), _
Array("y", "y"), _
Array("z", "z"), _
Array("0", "0"), _
Array("1", "1"), _
Array("2", "2"), _
Array("3", "3"), _
Array("4", "4"), _
Array("5", "5"), _
Array("6", "6"), _
Array("7", "7"), _
Array("8", "8"), _
Array("9", "9"), _
Array(" ", " "))
' FSO の取得
Dim objFso, strTargetFile
Set objFso = CreateObject("Scripting.FileSystemObject")
' ファイルの取得
Set strTargetFile = objFso.GetFile(WScript.Arguments(0))
' 処理前のファイル名
WScript.echo "Rename (before): " & strTargetFile.Name
' 置換
Dim i
For i = LBound(strReplaceRules) To UBound(strReplaceRules)
If InStr(strTargetFile.Name, strReplaceRules(i)(0)) > 0 Then
strTargetFile.Name = Replace(strTargetFile.Name, strReplaceRules(i)(0), strReplaceRules(i)(1))
End If
Next
' 処理後のファイル名
WScript.echo "Rename (after) : " & strTargetFile.Name
' 終了処理
Set strReplaceRules = Nothing
Set objFso = Nothing
Set strTargetFile = Nothing
0 件のコメント :
コメントを投稿