0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windowsでファイル名に使えない文字とその代替

Last updated at Posted at 2025-09-30

内容

Windowsでファイル名に使えない文字とその代替文字を個人用にまとめました。

Windowsでファイル名に使えない文字

記号

以下の文字はファイル名内に存在できません。

/ ? < > \ : * | "

記号は全角文字に置き換えるなどで、とりあえず回避できます。

使えない文字 代替文字 備考
/
?
<
>
\
:
*
|
"

Linuxのシェル等と違って、シングルクォーテーション(')は普通の文字扱いとなります。

制御文字

制御文字はファイル名内に存在できません。
代替としては、単に特定の文字列に置換する方法が良いです。他にもASCIIコードの16進数表記にするなどが考えられます。

使えない文字(例) 代替文字 備考
\t(水平タブ) ¥t0x09など
\n(改行) ¥n0x0Aなど

予約語

以下の文字列は、デバイスやポート名を表す予約語で、その文字列のファイル名を作ることはできません(ファイル名の一部に含まれるのはOK)。

使えない文字列 代替文字列 備考
com1 com01_com1など
com2 com02_com2など
com3 com03_com3など
com4 com04_com4など
com5 com05_com5など
com6 com06_com6など
com7 com07_com7など
com8 com08_com8など
com9 com09_com9など
lpt1 lpt01_lpt1など
lpt2 lpt02_lpt2など
lpt3 lpt03_lpt3など
lpt4 lpt04_lpt4など
lpt5 lpt05_lpt5など
lpt6 lpt06_lpt6など
lpt7 lpt07_lpt7など
lpt8 lpt08_lpt8など
lpt9 lpt09_lpt9など
con _conなど
nul _nulなど
prn _prnなど
aux _auxなど

以下、動作確認。

REM 以下はほとんどの環境で「指定されたファイルが見つかりません。」というエラーになります
copy nul com1
copy nul com2
copy nul com3
copy nul com4
copy nul com5
copy nul com6
copy nul com7
copy nul com8
copy nul com9
copy nul lpt1
copy nul lpt2
copy nul lpt3
copy nul lpt4
copy nul lpt5
copy nul lpt6
copy nul lpt7
copy nul lpt8
copy nul lpt9
copy nul aux

REM 以下は正常に実行できます
copy nul com01
copy nul com02
copy nul com03
copy nul com04
copy nul com05
copy nul com06
copy nul com07
copy nul com08
copy nul com09
copy nul _lpt1
copy nul _lpt2
copy nul _lpt3
copy nul _lpt4
copy nul _lpt5
copy nul _lpt6
copy nul _lpt7
copy nul _lpt8
copy nul _lpt9
copy nul _con
copy nul _nul
copy nul _prn
copy nul _aux

ドットで終わる

ドットで終わるファイル名は作成できません。

  • ドットを別の文字に置換する
  • 末端に文字を追加する
使えない文字列(例) 代替文字列 備考
a. a_a._など

以下、動作確認。

copy nul a.
REM         1 個のファイルをコピーしました。

echo %ERRORLEVEL%
0

REM 正常終了したようですが、作成されたファイル名を見てみます

dir
REM 2025/09/30  20:02    <DIR>          .
REM 2025/09/30  19:51    <DIR>          ..
REM 2025/09/30  19:58                 0 a
REM
REM なぜか「a」というドットのないファイル名ができています


REM 以下は正常に実行できます
copy nul a_
copy nul a._

フルパスが260文字を超える

通常のWindowsでは、フルパスが260文字の制限があります。より長いフルパスをサポートするには、Windowsの機能を有効にする必要があります。
基本的にはフルパスが260文字を超えるようなファイル名にしないほうが無難です。
回避する方法としては、ファイル名自体をどこかで採番した連番にするとかUUIDとするなどが考えられます。

参考文献

以上です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?