フォルダAにあるファイルの複製をフォルダBに作る、というだけの単純なbatを作成して実行させたときのこと。
単純なbat:copy “コピー元パス” “コピー先パス” ※囲わなくてもいいがパス間に空白があったときのため。
でまあこれがなぜか、
うまくいかない。
2,3度実行。あまりにうまくいかないため、Pauseさせ確認。
逋サ骭イ逕ィ譁ー逹逶」隕・lnk
なんと、ファイルパスの日本語部分が文字化けしているじゃないか。
これはもうエンコード要因としか考えられない。
というわけでbatファイルをメモ帳で開いて確認。
エンコードがUTF-8となっている。なんか違う気はするが実際なんだったかはハッキリ覚えていない。
名前を付けて保存時に、エンコード部分をプルダウンさせ、一覧から適当に、なんかこいつっぽいと感じたANSIに変えて保存してみる。
そして実行。
無事、うまくいった。
前までこんなことなかったはずだが、win10以降、デフォルトの方式がUTF-8に変わってしまったようだ。
設定でデフォルトを変更できれば楽なんだが、レジストリ弄らないと無理っぽいので、社内PCである以上はあきらめるしかない。
もしくはやっぱフォルダ名ファイル名に日本語を使わないことだな。っつっても、他人に見せる用でわかりやすくないといけないから、無理なんだけどな。
間違えたと気づいたら変える、これを続けるしかないだろう。
ちなみにデフォルト方式が変わったのは、UTF-8のほうがメジャーであるという背景があってのことらしい。webサービスにしろ、Linuxにしろ。
そのため別サービスや別OSとファイル共有したりする際、世界的に見れば、ANSIがデフォだとむしろ困る勢も多くいたものと思われる。しゃあないってこったな。