を経由して単一ファイルのファイル名にスペースとアンダースコアを交換し、私は以下の記事を見つけた: Batch File to replace underscores with spaces in a filenameバッチ
これは動作するようですが、あなたは、バッチファイルにファイルをドラッグすると、それは内のすべてのファイルを処理しますフォルダ。
@echo off
setlocal enabledelayedexpansion
for %%a in (*_*) do (
set file=%%a
ren "!file!" "!file:_= !"
)
私はバッチファイルに名前を変更し、ちょうどそのファイルの名前を変更したいだけのファイルをドラッグするだけでできますので、これを編集する方法はありますか?
私はまた、1つのファイルだけの名前を変更するための素晴らしい作品は、このリンクを見つけたが、それは私が何をしようとしているのと反対のことを行います。 Renaming files with spaces and dots in the filename
@ECHO OFF &setlocal
FOR %%f IN (%*) DO (
set "oldname=%%~ff"
set "oldfname=%%~nf"
set "extension=%%~xf"
setlocal enabledelayedexpansion
set "filename=!oldfname:.=_!"
set "filename=!filename: =_!"
if not "!filename!"=="!oldfname!" RENAME "!oldname!" "!filename!!extension!"
endlocal
)
ありがとうございました!
-Thom K.
を。バッチファイルは '%1'と表示されます。環境変数に '%1'を設定し、その変数に文字列置換を使用してください。 – Squashman
あなたはコードを作業しているので、必要に応じてサブストリングの置換を適応させるのは難しくありません。スクリプトが最初に渡された項目だけを気にするようにするには、 '%*'を ''%〜1 "'で置き換えてください... – aschipfl
ありがとう! 私は – ThomK