Windowsで数千のファイルからスペースを削除する(アンダースコアに置き換えない)方法は? DOS コマンドからこれを行うことはできますか?
現在:
file one.mp3
file two.mp3
すべてのファイルは次のようになる必要があります。
fileone.mp3
filetwo.mp3
Windowsで数千のファイルからスペースを削除する(アンダースコアに置き換えない)方法は? DOS コマンドからこれを行うことはできますか?
現在:
file one.mp3
file two.mp3
すべてのファイルは次のようになる必要があります。
fileone.mp3
filetwo.mp3
これは、名前からすべてのスペースを削除して、ファイルの名前を効率的に一括変更できるスクリプトです。
:renameNoSpace [/R] [FolderPath]
@echo off
setlocal disableDelayedExpansion
if /i "%~1"=="/R" (
set "forOption=%~1 %2"
set "inPath="
) else (
set "forOption="
if "%~1" neq "" (set "inPath=%~1\") else set "inPath="
)
for %forOption% %%F in ("%inPath%* *") do (
if /i "%~f0" neq "%%~fF" (
set "folder=%%~dpF"
set "file=%%~nxF"
setlocal enableDelayedExpansion
echo ren "!folder!!file!" "!file: =!"
ren "!folder!!file!" "!file: =!"
endlocal
)
)
スクリプトの名前がrenameNoSpace.batであるとします。
renameNoSpace
: (引数なし) 現在のディレクトリ内のファイルの名前を変更します
renameNoSpace /R
: 現在のディレクトリをルートとするフォルダ ツリー内のファイルの名前を変更します。
renameNoSpace myFolder
: 現在のディレクトリにある「myFolder」ディレクトリ内のファイルの名前を変更します。
renameNoSpace "c:\my folder\"
: 指定されたパス内のファイルの名前を変更します。パスにスペースが含まれているため、引用符が使用されています。
renameNoSpace /R c:\
: C: ドライブ上のすべてのファイルの名前を変更します。
Windows の場合:
powershell ファイルの作成 -*.ps1
拡張子
次のコードを記述します。
dir |
Where-Object { $_.name.Contains(" ") } |
Rename-Item -NewName { $_.name -replace " ","" }
保存してから右クリック - > powershellで実行
1 つのファイル/ディレクトリに対してこれを行う簡単なスクリプトを作成できます。
@echo off
setlocal enableextensions enabledelayedexpansion
set "ARG=%~1"
ren "%ARG%" "%ARG: =%"
...そして、必要に応じて、関心のあるすべてのファイルやディレクトリに対して実行します。たとえば、上記のスクリプトを myrenamingscript.cmd として作成すると、次のコマンドを実行して、現在のディレクトリ内のすべての非ディレクトリ ファイルに対して実行できます。
for %f in (*) do @myrenamingscript.cmd "%~f"
@echo off
setlocal enableextensions enabledelayedexpansion
for %%f in (*.*) do (
set ARG=%%~nxf
rename "%%f" !ARG: =!
)
プログラムでファイルの名前を変更するのはリスクが高いため (間違えると破壊的になる可能性があります)、一括名前変更用に特別に構築された予行演習モードを備えたツール ( renamer など) を使用します。
このコマンドは、現在のディレクトリ内のすべてのファイルから空白を削除します。
$ renamer --find "/\s/g" --dry-run *
Dry run
✔︎ file one.mp3 → fileone.mp3
✔︎ file two.mp3 → filetwo.mp3
Rename complete: 2 of 2 files renamed.
ここには、多くのリネーマーの使用例があります。