• 締切済み

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

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

みんなの回答

  • SI299792
  • ベストアンサー率47% (793/1659)
回答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/17070)
回答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% (371/1817)
回答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