• 締切済み

ファイル名の修正を一度にしたいです。

ファイル名の先頭に【仮】というファイルがたくさんあります。 すべて正式なファイルなので、この3文字だけ削除したいのですが、エクスプローラーでひとつづつダブルクリックして、該当部分だけを削除するのは大変です。 エクセルとかのマクロで全件を一括して削除できないでしょうか?

みんなの回答

  • SI299792
  • ベストアンサー率48% (708/1464)
回答No.4

図の様に、 B1: フォルダ名、 B2: 【仮】 と入力して実行して下さい。 Option Explicit ' Sub Macro1()   Dim FileName As String '   FileName = Dir([B1] & "\" & [B2] & "*.*") '   While FileName > ""     Name [B1] & "\" & FileName As [B1] & "\" & Replace(FileName, [B2], "")     FileName = Dir   Wend End Sub

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>一度にしたい プログラム(またはコマンドで)行うことになるでしょう。 FSOとVBAでエクセルの、 開発ーVisualbasic-標準モジュール に下記をコピペして実行する。 上記は、現状ファイル名先頭が「血圧」のファイル名を、「血圧値」・・・ に変更する例のものです。 Sub test01() Dim FSO As Object Set FSO = CreateObject("Scripting.FileSystemObject") Set myfiles = FSO.GetFolder("C:\Users\惇\Documents\").Files For Each myfile In myfiles If Mid(myfile.Name, 1, 2) = "血圧" Then MsgBox myfile.Name '拡張子を含む MsgBox "血圧値" & Mid(myfile.Name, 3, Len(myfile.Name) - 2) myfile.Name = "血圧値" & Mid(myfile.Name, 3, Len(myfile.Name) - 2) End If Next End Sub を張り付けて、実行する。 ==== 質問の場合は If Mid(myfile.Name, 1, 2) = "血圧" Then を If Mid(myfile.Name, 1, 3) = "【仮】" Then ーー myfile.Name = "血圧値" & Mid(myfile.Name, 3, Len(myfile.Name) - 2)  を myfile.Name = "" & Mid(myfile.Name, 4, Len(myfile.Name) - 3) に変更し、 多数の該当があるようなので、確認用の、msgbox ・・というコード行を削除して実行する。 参考 https://www.tipsfound.com/vba/18011 VBA ファイル名の取得または変更する ーー コマンドの方は https://www.adminweb.jp/command/file/index3.html ファイル名の変更(REN, RENAME) ワイルドカードを使って複数のファイルの名前をまとめて変更する

  • msMike
  • ベストアンサー率20% (363/1772)
回答No.2

「この3文字」とは。 左端の決まり切った「仮」と 後の2文字は任意ですか?全角半角もバラバラ?

  • maiko04
  • ベストアンサー率17% (345/1956)
回答No.1

for %%F in ("*【仮】*.*") do call :sub2 "%%F" goto :EOF2 :sub2 Set Bstr1=%1 set Bstr2=%Bstr1:【仮】=% set Bstr3=%Bstr2:"=% rename %Bstr1% "%Bstr3%" goto :EOF2 :EOF2 これでいいはず。(テストしていないので 適当な場所にコピーしてやってみてください)

関連するQ&A

  • エクスプローラで、ファイル名の先頭の英字が大文字になって困ってます。

    エクスプローラで、ファイルの移動などに伴ってファイル名の先頭の英字が大文字になってしまい、FTPなどで、ホームページのファイルを送るとき、そのまま大文字で行ってしまい、サーバー上では大文字と小文字が区別されるため「ページが見つからない」等のエラーが頻発しています。 FTPの設定で「全て小文字で送る」にする方法もあるのですが、あえて一部大文字としているものもあるため、それもできません。エクスプローラで、ファイル名の先頭の英字が大文字にならないようにする方法がありましたら教えて下さい。または、ファイル名の先頭を一括小文字変換する方法があったら教えて下さい。

  • ファイル名の一括変換で、先頭の数字を削除したい。

    PCと連結可能なボイスレコーダーを使っています。PCに取り込んだ時に、ファイル名の先頭に自動的に録音された順番の番号が入れられてしまいます。これだけは設定を変えられないようです。しかし、この番号はボイスレコーダーから削除すれば、新しく録音したものはまた1番から番号が振られるようになるので、全く意味がありません。PCに取り込んだファイルをソートしようとすると、先頭の数字が同じものがいくつも出てきてしまって、かえって邪魔なのです。 ファイル名はこんな形式になっています。 001_acrobot_2007_09_12_11_30.dvf 先頭の3文字がボイスレコーダー上での順番を表すもの。その後にユーザー名、録音日時と続きます。 この先頭の3文字(正確にはその直後のアンダーバーも含めて)だけを一括で削除したいのですが、どんなツールを使ったらできますでしょうか? 普段は「極窓」でたいていのファイル名の一括変換は事足りているのですが、先頭の数文字を削除するというのがどうしてもできません。 ファイルの数がたくさんあり過ぎて、一つ一つ先頭の文字を削除することはできそうにないので、とても困っております。よろしくお願い致します。

  • ファイル名に特定の文字列を含むファイルを開きたい

    セルに「abc」という文字列があります。 このセルをダブルクリックすると、特定のフォルダ内にある abcを含むファイル(たとえば090507 abc)を開く というようなことをしたいのですが、どのようにしたらよいでしょうか。 対象セルはA列です。 たとえばA2に「abc」とあれば、A2をダブルクリックすると 特定フォルダ内のabcをファイル名に含むファイルを開く A3に「xyz」とあれば、A3をダブルクリックすると 特定フォルダ内のxyzをファイル名に含むファイルを開く といった具合です。 文字列の指定はダブルクリック以外の方法でも構いません。 知識がないものでどのようにしたらよいかわかりません。 どなたかお詳しい方、どうぞよろしくお願い致します。 (ごく簡単なマクロの知識はあります)

  • ファイル名の末尾にある日時を先頭に持って行きたい

    aaaa(2012.1.29).xxx bbb(2012.1.30).xxx ccccc(2012.1.31).xxx というようなファイルがあるのですが、日時がファイル名の末尾にあるので エクスプローラで日時順でソートが出来ません。 これを一括で末尾の12文字だけ先頭に持っていくような方法はありませんでしょうか? 手順が増えますが、一回ファイル名をテキストに落として変更するやり方でも良いです。

  • 一時的にファイル名、シート名を変えて処理することは出来ますか?

    VBAを勉強中で、分からないので教えてください。 2つのWorkbook間でCopy、Pasteを繰り返し、必要なデータ を一覧に書込みするマクロを作成する時 Excelデータ(同じフォーマットでセルに入っているデータが少し ずつ違う)で、異なるファイル名、異なるシート名になってしまって いるものをマクロで処理をしたいのですが、VBAで書き込む時 にはWorkbooks("○○").Worksheets("○○")と指定しなくて は動作してくれないので、どのように指定したらいいか困っています。 「直前にアクティブだったWorkbook指定する」「先頭に位置する sheetを指定する」なんてコードがあれば、一番いいのですが、 そういうコードはあるのかもわかりません。 最終的には"あるセル"に入っているファイル名で保存してしまう ので、一時的に仮ファイル名、仮シート名に変えて、後に削除 して処理をすればいいかなとが思うのですが、どうやって処理 したらいいのかわかりません。 やりたい事をうまく説明出来ているかわかりませんが、ファイル名、 シート名が違う元のデータから、一覧表へ書き込むマクロを組み たいのです。その際の元データの指定方法を知りたい or 一時的 に名前を変えて処理する方法を知りたいです。 一覧表へ書込みをした後にメールで添付してその元データ (”あるセル”にファイル名変更したもの)を送り返したいのですが、 メールへ添付する事までマクロで出来ると助かります。マクロで そこまで出来ますか?これも合わせて教えていただけたらと思います。 つたない説明ですみませんが、よろしくお願いします。

  • Excelファイルの立ち上げについて

    Excelファイルの立ち上げについて 該当のファイルをダブルクリックすると立ち上がるはずが、Excelは立ち上がりますが、シート部分がグレー表示となってしまいます。 新規でExcelを開き、[ファイル]で開くと正常に開きます。 従来どおり、該当のファイルをダブルクリックで開くようにするには、どうしたらよいかご教授願います。 (Win XP、Excel2002)

  • 復数のファイル全てのファイル名の先頭に任意の文字をつけたい

    復数のファイル全てのファイル名の先頭に任意の文字をつけたい 例えば100~999までのファイルがあるとして、 それら全てのファイルの先頭に0を負荷して0100~0999にしたいのですが、 なにか一括で出来るソフトはありますか?

  • 禁止文字が含まれたファイル名の一括変換

    OSは Windows XP SP2 です。 業務で使っている社内専用の特殊なソフトがあり、ファイル名に特殊な文字が必ず含まれるため、通常のWindowsXP上では正しく表記されません。特殊文字の部分だけ、エクスプローラ上では「・(半角)」で表記され、コピーして別のエディターにペーストすると「?」と表記されます。別のファイラーでは、最初から「?」となっています。 「?」の部分だけ削除、もしくは別の文字に置換したいのですが、いくつか試したリネームソフト(NAMERYなど)では、禁止文字が含まれているためかうまくリネームできませんでした。 エクスプローラでファイル一つ一つをリネームすることはできるのですが、ファイルの数が多いため、なんとか一括で変換できるうまい方法、あるいはソフトはありませんでしょうか。

  • フォルダ名の一部を、テキストファイル内に、一括書き込みできますか?

    テキストファイルが入ったフォルダ名に、大事なキーワードが入っており、 フォルダ名の一部、または、全部を、テキストファイル内に(先頭行にでも)書き込みたいのですが、 フォルダが千以上あるので、一括して書き込みしてくれるものが、あればなぁと思います。 例えば、フリーソフトなど、何か方法があるでしょうか? 当方は、EXCELのマクロは、初心者ですが、使えます。 また、秀丸を最近、使い始めましたが、まだ、詳しくありません。 もし何か情報があれば、お教えください。 よろしくお願いいたします。

  • ソフトのアイコンでファイルを表示させるには?

    どこかの設定を変更してしまったと思われます。 エクスプローラー等でファイルを表示させたときに、例えばエクセルファイルであると、エクセルのアイコンが表示されファイル名もついています。そのアイコンをダブルクリックするとファイルがひらきますが、 現在エクセルのアイコンが表示されていないために、ファイル名をダブルクリックすると”どのプログラムで開きますか?”の表示がされその都度プログラムを選びファイルを起動させることになっています。 どのようにしたら、良いかご助言お願いします。

専門家に質問してみよう