
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
batファイル、コマンドプロンプトでファイル名の置換
その他(プログラミング・Web制作)
-
-
4
ファイル名に空白がある時、一括削除するソフト
フリーソフト
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
ファイル名の -(ハイフン)を _(アンダーバー)に書き換えたい
ノートパソコン
-
7
ファイル名の空白を一括で削除したい
ホームページ作成・プログラミング
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
10
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
11
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
-
12
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
13
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
14
echoの出力の最後のスペースを除去したい
iOS
-
15
.txtファイルの空白を全て消去(データ間を詰める)
その他(パソコン・スマホ・電化製品)
-
16
バッチで指定ファイルの文末に改行コードをつけたい
その他(コンピューター・テクノロジー)
-
17
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
18
コマンドプロンプトで変数内に特殊文字がある場合のエスケープ方法
Windows 95・98
-
19
データにカンマが入ったCSVデータのread方法
Visual Basic(VBA)
-
20
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
ExifToolでの文字化け対策
-
.batでファイル名から抽出して...
-
ファイル名を一括してリネーム...
-
エクセルVBAを使用してJPGファ...
-
大量のフォルダからひとつのフ...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトのエラーに...
-
特定フォルダ内のファイルを自...
-
複数のbatファイルを自動実行し...
-
名前の変更ができない動画ファイル
-
Excel VBAで複数のバッチファイ...
-
win10の「フォト」で、「次へ」...
-
同名のフォルダを検索・削除したい
-
バッチ処理でファイルの中身を...
-
UWSCについて
-
Python CSVファイルについて
-
パソコンのフォルダー内のファ...
-
leeyesでファイルの読み込みが...
-
UNIX ファイル存在チェックの方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
フォルダ内の更新日時が一番新...
-
コマンドプロンプトで変数が数...
-
ファイル名に ” を使うと エク...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
【DOSバッチ開発】末尾のタブの...
-
サブフォルダからファイルをコ...
-
スタートアップのファイルをバ...
-
エクセルVBAを使用してJPGファ...
-
バッチファイルで同一フォルダ...
-
バッチ処理で16進数でファイル...
-
コマンドプロンプトでのCSV...
-
ファイル名の頭5桁と同名のフォ...
おすすめ情報