コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
ファイル名に空白がある時、一括削除するソフト
フリーソフト
-
-
4
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
5
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
6
.txtファイルの空白を全て消去(データ間を詰める)
その他(パソコン・スマホ・電化製品)
-
7
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
8
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
9
echoの出力の最後のスペースを除去したい
iOS
-
10
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
11
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
12
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
13
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
14
バッチファイルで文字列削除について
その他(プログラミング・Web制作)
-
15
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
16
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
17
バッチファイルでのスペースの入力
Windows 10
-
18
バッチ処理 特定の文字以降をリネーム
Ruby
-
19
ファイルの最後に文字列挿入
その他(プログラミング・Web制作)
-
20
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトで変数が数...
-
window コマンドでファイルサイ...
-
コマンドプロンプトでファイル...
-
【DOSバッチ開発】末尾のタブの...
-
access,vbaでフォルダ内のファ...
-
エクセルVBAを使用してJPGファ...
-
バッチファイルで同一フォルダ...
-
.batでファイル名から抽出して...
-
ExifToolでの文字化け対策
-
gnuplotで日本語を含むepsファ...
-
バッチ処理で16進数でファイル...
-
word VBA ファイル名 保存
-
ファイル名を該当フォルダ内か...
-
【vbs】ファイル名の検索と該当...
-
サブフォルダからファイルをコ...
-
バッチにて複数のcsvファイルを...
-
ExcelVBAのDirでスペース含むフ...
-
VBでテキスト形式のファイル...
-
コマンドプロンプトまたはpower...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトでファイル...
-
バッチファイルで、iniファイル...
-
バッチコマンドでファイル名の...
-
コマンドプロンプトで変数が数...
-
[DOS] コピー先に同じファイル...
-
フォルダ内の更新日時が一番新...
-
ftp処理でmove(移動)を行いたい
-
ExcelVBAのDirでスペース含むフ...
-
.batでファイル名から抽出して...
-
DOSのバッチ作成について‐FORの...
-
access,vbaでフォルダ内のファ...
-
Windowsコマンドプロンプトで、...
-
【DOSバッチ開発】末尾のタブの...
-
word VBA ファイル名 保存
-
【vbs】ファイル名の検索と該当...
-
コマンドプロンプトまたはpower...
-
ファイル名を該当フォルダ内か...
-
バッチ処理で16進数でファイル...
-
スタートアップのファイルをバ...
おすすめ情報