ただ、必要は無い物なのですが、上記のファイル名のものが大量に存在します。
これらを判断し、自動で削除してくれるようなツールはありませんか?
http://www.vector.co.jp/vpack/filearea/win/util/file/name/
この手のリネームソフトは沢山ありますのでお好みでどうぞ。
http://www.55555.to/what/gm.htm
このソフトは文字数で検索はできませんが、、、
光学メディアにファイルを焼くにはファイル名が半角で64文字以下でなくてはならない
これは Joliet 形式(Windows系)ですね。
他に下記のようなファイル形式があり、種類によって文字数が違います。
ファイルシステム | 対応OS | ファイル名文字数制限 |
---|---|---|
ISO 9660 Level 1 | MS-DOS Windows95,98,NT MacOS |
UNIX 8.3形式 (ファイル名 8文字以下、拡張子 3文字以下) |
ISO9660 Level 2,3 | Windows95,98,NT MacOS UNIX |
31文字 |
Joliet | Windows95,98,NT | 64文字 |
Romeo | Windows95,98,NT4.0 | 128文字 |
Windows環境で良ければ、下記のプログラムを "delete64.vbs" などという名前で保存、実行してみてください。
処理対象パスは変数 path に指定してください。
削除するファイル一覧がウィンドウに表示されます。
'VBSにはLenBが無いので Function LenB(str) Dim i, c LenB = 0 If Trim(str) <> "" Then For i = 1 To Len(str) c = Mid(str, i, 1) If (Asc(c) And &HFF00) <> 0 Then LenB = LenB + 2 Else LenB = LenB + 1 End If Next End If End Function '---メインプログラム path = "D:\hogehoge\" '処理対象パス maxlen = 64 '長さ制限 outstr = "" Dim fnames(100) Set fs = CreateObject("Scripting.FileSystemObject") Set fld = fs.GetFolder(path) i = 0 For each fil In fld.Files If LenB(fil.Name) > maxlen Then outstr = outstr & "(" & Len(fil.Name) & ") " & fil.Name & chr(13) fnames(i) = fil.Path i = i + 1 End If Next outstr = outstr & "を削除しますか?" Set ws = CreateObject("WScript.Shell") res = ws.Popup(outstr, 0, "確認メッセージ", vbYesNo) '削除実行 If res = vbYes Then For each fn In fnames fs.DeleteFile(fn) Next End If
コメント(0件)