ファイル名でよく禁止文字& " ? < > # { } % ~ / \.を使うことが多いんですが、わざわざ1つ1つ全角に変換しなければいけないのが手間です。

ファイル名でよく禁止文字& " ? < > # { } % ~ / \.を使うことが多いんですが、わざわざ1つ1つ全角に変換しなければいけないのが手間です。 禁止文字のみ簡単に全角にする方法はないでしょうか? 他の文字まで全角にはしたくありません。

補足

例えば半角の?はファイル名で保存できませんが全角の?でしたら保存できるといったような事です。 よく禁止文字が入った文字列をファイル名にコピーペーストしてしまう事が多いので。 例えばhttp://yahoo.co.jpならこれをどこかに貼り付けてボタンを押すだけでhttp://yahoo.co.jpみたいにしてくれるソフトやサイトが理想です。

ベストアンサー

1

以下をバッチファイルとして実行すると、クリップボード内の & " ? < > # { } % ~ / \. の文字が全角に変換されます。 *************************** powershell -c ^ $a=Get-Clipboard -Format Text;^ $b=@('^&','\^"','\?','^<','^>','#','{','}','%%','~','/','\\','\.');^ $c=@('&','”','?','<','>','#','{','}','%','~','/','¥','.');^ for($i=0;$i -le 12;$i++) {$a=$a -replace $b[$i],$c[$i]};^ Set-Clipboard $a ************************* バッチファイルを保存する時は、文字コードは、ANSI とか Shift_JIS にして下さい。

1人がナイス!しています

ありがとうございます できました! 申し訳ないのですが禁止文字ではないもの &# { } % ~ . が混じっており、新たに見つけた禁止文字の | :*バックスラッシュ(何故かここで打つと\になってしまいます)を足した " / \ : * ? " < > | バックスラッシュ で再度作って頂けないでしょうか? このバッチファイルを編集してやってみましたが私にはできませんでした。

ThanksImg質問者からのお礼コメント

pie********さんもベストアンサーを選びたいのですがどちらか一人しか選べないので今回は適当回答さんを選ばさせて頂きました。 この度はありがとうございました 早速バリバリ使ってます

お礼日時:9/25 1:35

その他の回答(3件)

1

Windows PowerShellでクリップボードの特定文字列を変換するには $a=Get-Clipboard $a=$a.Replace('/','/') Set-Clipboard $a です。'/'以外の置き換えも追加が必要です。 何回も使用するなら、一定期間常駐させます。例えば While($True){ $c=Read-Host "*" if($c -eq 0){exit} 上記の部分 }

1人がナイス!しています

ありがとうございます できました! 興味があるのでお聞きしたいのですが 私は追加はもう一行追加で $a=$a.Replace(':',':') のようにしましたが、最初の$a=$a.Replace('/','/')に追加する方法はありますか?

0

なにかのソフトの画面に貼り付け、ボタン押すと変換、再度コピー、みたいなのでもいいのですか? んー・・・クリップボード内の文字列の変換もできるといえばできるか。 そんなに難しくないので、自作するのがいいかもですね。

1

ファイル名は保存するとき以外で禁止文字を全角にするということ自体が出来ないと思います。 ファイルの名前付けで禁止文字を付けないように工夫すれば良いのではないでしょうか? (半角も全角も使わないように)

1人がナイス!しています

文字を置換するだけならテキストエディタで出来ますが、クリップボード内の文字列までは変換してくれないですね。 秀丸エディタなら文字置換一覧ファイルを作っていれば、変換から一括で該当文字のみ変換してくれますが、手間が増えるだけですね。