複数のファイル内の指定文字を一括置換する
大量のファイルでもこのプログラムを作れば一気に文字を置換できる
ファイルのある文字を別の文字にすべて置き換えたい場合もあると思います。
数個のファイルであれば、一つ一つファイルを開いてエディターの一括置換を使って行うのもよいでしょう。しかし、何十個、何百個のファイルとなるとどうでしょうか?とても手動では行いたくありませんよね。
そこで、自動化プログラムの出番です。ここでは、パソコンやプログラムに詳しくない方でも、とりあえず作って使える複数ファイルの文字一括置換方法を紹介します。
複数ファイルの文字一括置換ソフトはいくらでもネット上に落ちており、無料でインストールできるでしょう。しかし、ここでは何もインストールなどしなくともWindowsユーザーであれば、誰でも実行できるプログラムを作っていきます。
VBScriptというWinodwsにデフォルトで搭載されているプログラムを使って作成していきましょう。
・VBScriptでのファイル内容の操作に興味がある人
・ソフトに頼らずパソコンの自動化を行いたい人
【ここでは、こんな自動化ができる!を動画で説明】
コピー&ペーストで作る複数ファイル文字置換プログラム
プログラムの作成前に確認です。あなたのファイルは拡張子が表示される設定になっていますか?「まだの方」や「拡張子って?の方」は「ファイルの拡張子を表示する設定」から設定をお願いします。1分もかかりません。
では、ファイル内文字の置換を行うパソコンの自動化を行っていきましょう。まずは作業フォルダを決めます。どこでも構いません。私は以下のフォルダで作業を行っていきます。
ここに、「ファイル内文字置換.vbs」というファイルを作りましょう。そしてこのファイルを開いて、以下のプログラムコードをコピー&ペーストします。(※ファイルを開く際は、「右クリック」から「編集」を選んでください)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
Option Explicit 'On Error Resume Next '対象ファイルのドラッグ&ドロップによる取得 Dim Args, Arg Set Args = WScript.Arguments 'ユーザー入力 Dim ReplacedWord Dim ReplacingWord ReplacedWord = InputBox("置き換えられる文字を入力してください", "置換情報の入力") If IsEmpty(ReplacedWord) = True Then WScript.Quit End If ReplacingWord = InputBox("置き換え文字を入力してください", "置換情報の入力") If IsEmpty(ReplacingWord) = True Then WScript.Quit End If Dim objFSO ' FileSystemObject Dim objFile ' ファイル読み込み用 Dim objFileWrite ' ファイル書き込み用 Set objFso = WSCript.CreateObject("Scripting.FileSystemObject") If Err.Number = 0 Then For Each Arg In Args Set objFileWrite = objFSO.OpenTextFile(Arg + "rpls", 2, True) Set objFile = objFSO.OpenTextFile(Arg) If Err.Number = 0 Then Do While objFile.AtEndOfStream <> True Dim Line Line = objFile.ReadLine objFileWrite.WriteLine(Replace(Line, ReplacedWord, ReplacingWord)) Loop objFile.Close objFileWrite.Close Else WScript.Echo "ファイルオープンエラー: " & Err.Description End If Next Else WScript.Echo "エラー: " & Err.Description End If Set objFile = Nothing Set objFSO = Nothing |
プログラムを知らない方には何のこっちゃという感じでしょうが、ここではとにかく使うことを目的としますので、先へ進みましょう。ファイルは保存して閉じてオッケーです。
さて、完成です!これで、ファイル内文字の置換を行うパソコンの自動化プログラムが完成しました。
早速、使ってみます。使い方は文字の置換を行いたいファイルをドラッグ&ドロップで「ファイル内文字置換.vbs」の上に載せるだけです。ここでは、以下の内容のファイル「Windowsをたくさん含んだ文章①.txt」を例にやってみましょう。
【Windowsをたくさん含んだ文章①.txt】
見ての通り「Winodws」という単語をたくさん使った文章ですね。この「Windows」を「ウィンドウズ」に変えてみましょう。
このファイルを「ファイル内文字置換.vbs」に乗せます。
すると、下の画像のようなウィンドウが現れます。ここに、置き換えられる文字を入力しましょう。いまは「Windows」です。
「OK」を押して、先へ進みます。次は、置き換え後の文字の指定です。「ウィンドウズ」と入力します。
「OK」を押すと、新しく「Windowsをたくさん含んだ文章①.txtrpls」というファイルができているはずです。
【Windowsをたくさん含んだ文章①.txtrpls】
中身を確認すると、「Windows」が「ウィンドウズ」に変換されているのが分かります。
さて、このプログラムは複数ファイルに対しても実行可能です。その場合、複数ファイルをいっぺんに「ファイル内文字置換.vbs」へドラッグ&ドロップしてください。
その後の進め方は上記で説明したときと同様です。
おわりに
この記事の冒頭でも述べましたが、複数ファイルの文字一括置換ソフトはいくらでもネット上に落ちており、無料でインストールできます。
しかし、何か必要なパソコン操作があるたびに、それ専用のソフトをインストールしていては膨大な量のソフトをインストールしないといけないハメになりかねません。すると、ソフトの管理が大変ですし、パソコンにも負担がかかります。
ここで紹介したように、様々なパソコン作業について自分でプログラムを作れるようになれば、インストールも最低限に抑えることができて管理も自由自在です。
また、インストールしたソフトですとちょっとした動作の変更も困難であったり、自分の作業に合った修正が行えずにイマイチ使い勝手がよくないと感じる場合もあります。その点についても自ら作ったプログラムであれば、変更や修正を自分の好みに合わせて行えます。この点も自動化プログラムを自作するメリットの一つでしょう。
自動化プログラムの作成を依頼しませんか?
幣サイトでは、Windowsパソコンの自動化プログラムの作成サービスを行っています。
本サービスの特徴は、
・安価な値段
・個人から法人までどなたでも対応
・お客様の要望を全力で実現
です。
安いからといって、決して手は抜きません。
まずは、下のボタンからWindowsパソコンの自動化プログラムの作成サービスの詳細をご確認ください。
とてもいい記事で参考にさせて頂きました。
これは、パワーポイントでは出来ないのですが、
スクリプト変えると出来るようになるのでしょうか。
お教えいただけたらと思います。