ファイル名の一部(指定文字列)を削除するバッチファイル

Windowsバッチファイル

目次一覧

 状態:-  閲覧数:10,730  投稿日:2019-11-22  更新日:2019-11-23
currentディレクトリ内で実行 / 任意のディレクトリ内で実行

currentディレクトリ内で実行 / 任意のディレクトリ内で実行

 閲覧数:374 投稿日:2019-11-22 更新日:2019-12-01 

currentディレクトリ内で実行


▼C:\mp4data\delete-part-filename.bat
setlocal enabledelayedexpansion
cd /d %~dp0
set keyword=M01
for /f "tokens=*" %%i in ('dir /b ^| findstr /i "%keyword%"') do (
 set a=%%i
 ren "!a!" "!a:%keyword%=!"
)

ファイル名の一部削除を行うバッチファイルが欲しいのですが..

任意のディレクトリ内で実行


バッチファイルの基本
「遅延環境変数」や「環境変数の遅延展開」を使用する場合
変数セットするより前に「setlocal enabledelayedexpansion」を記述する

変数を展開するとき
% ではなく、! を使用する

変数
set F= とした場合は、F が変数となる

上記変数を展開する時
%F% ではなく、!F! を使用する

対象ディレクトリまでのパスを指定
ファイル名の一部(指定文字列「M01」)を削除する
▼C:\Users\user\Desktop\delete-part-filename.bat
setlocal enabledelayedexpansion
for %%i in (L:\hoge\*M01.xml) do (
   set F=%%~ni
   set F=!F:M01=!
   ren %%~fi !F!%%~xi
)


コメントあり
rem ---環境変数、遅延展開使用の宣言---
setlocal enabledelayedexpansion

rem ---M01を含む拡張子 xml を複数抽出、1個ずつ繰り返し処理を行う---
for %%i in (L:\hoge\*M01.xml) do (

 rem ---変数 F にファイル名をセット、拡張子は除く
 set F=%%~ni

 rem ---ファイル名の文字列の M01 を空文字に置換、→ 文字列 M01 を削除したものになる。これを変数 F にセットし直す---
 set F=!F:M01=!

 rem ---抽出したファイルのフルパス (%~f変数) を 文字列 M01 を削除してセットした変数 !F! に拡張子 (%~x変数)を付け足してリネーム---
 ren %%~fi !F!%%~xi
)


対象ディレクトリまでのパスを「c:\mp4data」へ変更してみる
setlocal enabledelayedexpansion
for %%i in (c:\mp4data\*M01.xml) do (
   set F=%%~ni
   set F=!F:M01=!
   ren %%~fi !F!%%~xi
)


Windowsコマンドプロンプトで、指定拡張子のファイル名の一部(固定文字列)を


複数サブフォルダ内にある指定拡張子ファイルを、指定フォルダへ移動

「currentディレクトリ」内の「任意階層下にある指定ディレクトリ」あるいは「任意階層下にある指定ディレクトリ内にある全ファイル」をバッチファイルで一括処理する



類似度ページランキング
順位 ページタイトル抜粋
1 指定ディレクトリ内の指定フォルダ内にある全ファイルをバッチファイルで一括削除します 47
2 「指定ディレクトリ」内の「任意階層下にある隠しファイル」をバッチファイルで一括削除する 46
3 バッチファイル 41
4 「指定ディレクトリ」内の「任意階層下にある指定ディレクトリ名」内にある全ファイルをバッチファイルで一括処理する 37
5 Windows10でファイル作成日時(もしくは更新日時)を、ファイル名の末尾に付与するバッチファイル 36
6 ファイル名を連番へリネームする「ファイル名一括変更」 34
7 上書きしたファイルを復元する方法 33
8 ファイル名長過ぎ/毎月バックアップ 32
9 バッチファイル作成。フォルダ名の末尾「_files」を除いた文字列と、ファイル名が一致していたら、ファイル名のフォルダを作成して、上記2つを中に入れる 31
10 外付けハードディスクドライブのゴミ箱を(リネーム後一旦削除することで)初期化する 30
11 「指定ディレクトリ」内の「任意の階層」にある「指定ディレクトリ名」内にある全ファイルを抽出する 30
12 一括ファイル移動 29
13 ファイル名変更君 29
14 Windows10 でクリップボード内容から 指定文字列を削除するためには、PowerShellを使用する 28
15 複数サブフォルダ内にある指定拡張子ファイルを、指定フォルダへ移動 27
16 MP3ファイルの無音部分を自動検出して、「分割」もしくは「削除」するフリーソフト … mp3DirectCut 27
17 文字コードが異なるファイルは、まとめて一度にgrep検索できない? 27
18 「currentディレクトリ」内の「任意階層下にある指定ディレクトリ」あるいは「任意階層下にある指定ディレクトリ内にある全ファイル」をバッチファイルで一括処理する 26
19 XPで、深い階層にある複数のファイルを効率的に取り扱いたい 25
20 ファイルを削除できません。送り側のファイルまたはディスクから読み取れません 25
2023/3/26 11:18 更新
週間人気ページランキング / 3-19 → 3-25
順位 ページタイトル抜粋 アクセス数
1 MP3ファイルの「プロパティ」を変更できない | Windows 10(Windows) 87
2 ファイル名の一部(指定文字列)を削除するバッチファイル | バッチファイル(Windows) 47
3 解凍先の指定。デフォルト設定ではデスクトップに解凍 44
4 「Windows 10」パソコンのタスクマネージャーで「GPU」が表示されない(グレイアウトされる)理由は、WDDMドライバがWDDM2.x以上ではなかったから | Windows 10(Windows) 43
5 Explzh で私が行う最初の設定 | Explzh for Windows(ソフトウェア) 26
6 「Windows エクスプローラー」は、OR で複数検索出来るが、文字数制限があるのかしら? | Windows エクスプローラー(Windows) 22
6 これまで正常動作していた「CrystalDiskInfo」である日突然「対応ディスクが見つかりませんでした」と表示された場合は、アップデートしてみます。 | CrystalDiskInfo(ソフトウェア) 22
7 マウスの選択範囲がおかしくなった時、試してみた方が良いかもしれないこと | マウス(ハードウェア) 17
7 「みまもり合図」に関する疑問。2019年 | みまもり合図(ソフトウェア) 17
8 「タイムゾーン間で同期」にはチェックを入れない 16
8 エクスプローラの右クリックメニュー「Microsoft Defender でスキャンする」が表示されなくなりました。→ 勘違いかもしれません | Windows 10(Windows) 16
9 秀丸エディタでグレップ検索できない | 秀丸エディタ(ソフトウェア) 15
10 Windows 0 14
10 VLC media player で複数曲を「繰り返し連続再生する」ためには、プレイリスト全体をリピート再生指定する | VLC media player(ソフトウェア) 14
10 無効な証明書によるssl接続を検知しました → 表示しないようにするためには、「暗号化された接続をスキャンしない」にチェックを入れる | ウイルス対策ソフト(Windows) 14
10 コマンドプロンプトでchkdsk /B | ハードディスクトラブル(ハードウェア) 14
10 Windows10 不定期でフリーズ発生トラブル(2019/6/9)。フリーズ現象の調査で採取するダンプの種類は、「完全メモリダンプ」でないと有効な調査はできない | フリーズトラブル 2019年(Windows) 14
11 「★ページは機能していません」「★からデータが送信されませんでした。」 「ERR_EMPTY_RESPONSE」と表示されるようになったら、 Kasperskyを一旦停止してみる | ウイルス対策ソフト(Windows) 13
11 「みまもり合図」に関する疑問。2018年 | みまもり合図(ソフトウェア) 13
11 みまもり合図 vs CrystalDiskInfo | ハードディスク全般(ハードウェア) 13
2023/3/26 1:01 更新