- 締切済み
batファイルの改変をお願いします
PC内のshift-jisのテキストファイルを事情により全てutf-8(BOM付)に変える必要があります。 ネットを探したところ下記サイトでbatファイルの作り方がありました。 http://www.shegolab.jp/entry/windows-conv-text-utf8 ↓スクリプトの内容 @echo off :Shift_JIS -> BOM UTF-8 setlocal enabledelayedexpansion for %%f in (%*) do ( echo %%~ff| findstr /l /e /i ".txt .csv" if !ERRORLEVEL! equ 0 ( powershell -nop -c "&{[IO.File]::WriteAllText($args[1], [IO.File]::ReadAllText($args[0], [Text.Encoding]::GetEncoding(932)), [TEXT.Encoding]::UTF8)}" \"%%~ff\" \"%%~ff.bom+utf8%%~xf\" ) ) このスクリプトですとオリジナルのファイルの他にファイル名が「ファイル名.txt.bom+utf8.txt」となり、ファイルが増えてしまいます。私としてはオリジナルの文字コードが変わって上書き保存されれば問題ないのです。 このような要望を満たすようにスクリプトの変更をお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mt2015
- ベストアンサー率49% (258/524)
何故バッチファイルの質問をExcelカテゴリーでしているのか解りませんが、Excelで解決したいのでしょうか? Excel2016でしたら保存時に「CSV UTF-8(カンマ区切り)(*.csv)」を選択して保存すればUTF-8(BOM付)で保存できます。
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
変換処理で「ファイル名.txt」から「ファイル名.txt.bom+utf8.txt」を作っているので、変換処理の次の行に「ファイル名.txt.bom+utf8.txtをファイル名.txtにコピーする処理」と「ファイル名.txt.bom+utf8.txtを削除する処理」を付け足して下さい。
お礼
全然そんな知識がないので。。。 なんとか助けてください。
お礼
カテゴリが違うのですね。 失礼しました。