コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
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
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
5
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
6
.txtファイルの空白を全て消去(データ間を詰める)
その他(パソコン・スマホ・電化製品)
-
7
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
8
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
9
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
10
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
11
echoの出力の最後のスペースを除去したい
iOS
-
12
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
13
ファイル名の空白を一括で削除したい
ホームページ作成・プログラミング
-
14
バッチ処理 特定の文字以降をリネーム
Ruby
-
15
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
16
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
17
バッチファイルで文字列削除について
その他(プログラミング・Web制作)
-
18
バッチで特定文字が含まれる先頭行を取得したい
Windows Me・NT・2000
-
19
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
20
テキストファイルから最終行の抽出
Windows Me・NT・2000
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトで変数が数...
-
ftp処理でmove(移動)を行いたい
-
.batでファイル名から抽出して...
-
access,vbaでフォルダ内のファ...
-
[DOS] コピー先に同じファイル...
-
サブフォルダからファイルをコ...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトでファイル...
-
【DOSバッチ開発】末尾のタブの...
-
ExcelVBAのDirでスペース含むフ...
-
ファイル名を該当フォルダ内か...
-
ファイル名に ” を使うと エク...
-
コマンドプロンプトでのCSV...
-
word VBA ファイル名 保存
-
バッチファイルで、iniファイル...
-
VBA GetAttrについて教えてくだ...
-
一括処理が出来ません(cygwin使用)
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
バッチコマンドでファイル名の...
-
バッチファイルで、iniファイル...
-
ExcelVBAのDirでスペース含むフ...
-
ftp処理でmove(移動)を行いたい
-
フォルダ内の更新日時が一番新...
-
.batでファイル名から抽出して...
-
【vbs】ファイル名の検索と該当...
-
word VBA ファイル名 保存
-
access,vbaでフォルダ内のファ...
-
VBA GetAttrについて教えてくだ...
-
バッチ処理で16進数でファイル...
-
ファイル名に ” を使うと エク...
-
サブフォルダからファイルをコ...
-
DOSのバッチ作成について‐FORの...
-
ファイル名を該当フォルダ内か...
-
コマンドプロンプトまたはpower...
おすすめ情報