
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
BAT実行や、BATにドロップする程度の操作でファイル名置換したいと思っています。
たとえば、「abcTEST123.txt」というファイルを下記のバッチにドロップすると、
「abctest123.txt」と言うファイル名に置換されます。
for %%A in (*TEST*.txt) do call :sub %%A
:sub
set A=%1
ren %A% %A:TEST=test%
しかし「TEST」をスペースにしてもファイル名の置換はできません。
コマンドプロンプトではスペースは扱えないのでしょうか。
解決策がありましたらご教授願います。

No.1ベストアンサー
- 回答日時:
>しかし「TEST」をスペースにしてもファイル名の置換はできません。
>コマンドプロンプトではスペースは扱えないのでしょうか。
普通はその通りです。スペースは区切り文字ですので。
スペースを含むファイル名などの場合、" で囲みます。
質問文のバッチに手を加えるなら、以下のようにしたら成功しました。
--------------------
rem echo %1
for %%A in ("* *.txt") do call :sub "%%A"
goto :end
:sub
rem echo %1
set A=%1
ren %A% "%A: =T%"
:end
rem pause
--------------------
これで、
abc 123.txt を
abcT123.txt にリネームできました。
ところで、おかしな点があります。
・>ファイルをドロップ
とありますが、意味を成していません。
変数としてフルパスがバッチに渡されますが、参照する記述がないので。
・for文でファイル名を探しています。が、対象のフォルダは
バッチ起動時のパス内のみであり、ドラッグ&ドロップされたファイルのフルパスとは
無関係です。
・for 文で :sub を呼びますが、その後次行に移りますがそれが :sub です。
バッチの流れがおかしいです。(上記バッチでは修正しました)
バッチが終わるとDOS窓がすぐ閉じてしまうので、
最後にpause でも書いておくといいです。
コマンドがどのように展開されてるか、や、エラーがあればわかります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
ファイル名に空白がある時、一括削除するソフト
フリーソフト
-
-
4
batファイル、コマンドプロンプトでファイル名の置換
その他(プログラミング・Web制作)
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
ファイル名の -(ハイフン)を _(アンダーバー)に書き換えたい
ノートパソコン
-
7
ファイル名の空白を一括で削除したい
ホームページ作成・プログラミング
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
10
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
11
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
-
12
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
13
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
14
echoの出力の最後のスペースを除去したい
iOS
-
15
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
16
[DOS] コピー先に同じファイル名がある場合、名前を変えて...
その他(プログラミング・Web制作)
-
17
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
18
リネームバッチ
その他(プログラミング・Web制作)
-
19
コマンドプロンプトで変数内に特殊文字がある場合のエスケープ方法
Windows 95・98
-
20
複数のフォルダへ同時にファイルをコピーするには
Windows 95・98
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
エクセルVBAを使用してJPGファ...
-
自動化のソフトの作り方を教え...
-
window コマンドでファイルサイ...
-
バッチファイルで配列を使いたい
-
【VBScript】※渡したい変数のみ...
-
DOSのfor文に関して
-
VBA GetAttrについて教えてくだ...
-
バッチファイルの繰り返し処理...
-
特定のエクセルファイルをcvsで...
-
ファイル名に大文字が含まれて...
-
画像をコピーしてリネームするbat②
-
ファイル名を指定して、batファ...
-
[DOS] コピー先に同じファイル...
-
バッチファイル Windows2000 ...
-
DOSのバッチ作成について‐FORの...
-
バッチファイル
-
MS‐DOSバッチ作成について 多...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
バッチファイルで、iniファイル...
-
コマンドプロンプトでファイル...
-
ftp処理でmove(移動)を行いたい
-
コマンドプロンプトで変数が数...
-
ExcelVBAのDirでスペース含むフ...
-
[DOS] コピー先に同じファイル...
-
ファイル名の頭5桁と同名のフォ...
-
サブフォルダからファイルをコ...
-
フォルダ内の更新日時が一番新...
-
.batでファイル名から抽出して...
-
access,vbaでフォルダ内のファ...
-
バッチファイルで同一フォルダ...
-
バッチコマンドでファイル名の...
-
Windowsコマンドプロンプトで、...
-
スタートアップのファイルをバ...
-
ファイル名に ” を使うと エク...
-
ファイル名を該当フォルダ内か...
-
aタグのhrefにネットワークパス...
-
【DOSバッチ開発】末尾のタブの...
おすすめ情報