LoginSignup
0
0

More than 3 years have passed since last update.

Windows10のコマンドプロンプトで、日本語名のファイルをバッチで名前変更する時の注意点

Last updated at Posted at 2021-04-30

はじめに

Windows10のコマンドプロンプトで、日本語名のファイルをバッチで名前変更して、ファイル名の頭に文字列を追加しようとしたところ、文字コードや全角スペースと言った複数の要因が混ざって苦労したので、メモとして書いておく

環境

Windows10

日本語のファイル名をバッチで変更する際に注意すべき2点と、その対応方法

1)全角スペース
2)文字コード

全角スペースについては、事前にバッチで、アンダーバーに置き換えて対応する。
文字コードについては、バッチファイルの文字コードをANSI(s-jis)にすることで対応する。
前者のバッチは、見た目は日本語が無いが、全角スペースが入っているため、文字コードは、ANSI(s-jis)にする必要がある。

rename_space.bat

rem 全角スペース、半角スペースを置き換えるバッチ
rem このファイルの文字コードは、s-jisにする必要がある(メモ帳で、ANSIにしておく)

for %%f in (*.txt) do call :sub "%%f"
exit /b

:sub
set fname=%1
set fname=%fname: =_%
set fname=%fname: =_%
ren %1 %fname%
goto :EOF

これは、
http://qeynos2525.blog.jp/archives/1075301636.html
を参考にした。

ファイル名の頭に文字を追加する変更バッチ

こちらも、さっきと同じように、文字コードはs-jisにする必要がある。
頭に文字を付ける場合、単純にrenとアスタリスクの組み合わせで変更しようとすると、その部分が上書きされて変換されるので、下のような、冗長なものになってしまっている。

rename.bat
rem このファイルの文字コードは、s-jisにする必要がある(メモ帳で、ANSIにしておく)

for %%A in (ファイル名*) do ren "%%A" "2021-04-30_%%A"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0