How to Remove Files with Reserved Names in Windows


Because programs control the policy for creating files in Windows, files sometimes are created by using names that are not valid or reserved names, such as LPT1 or PRN. This article describes how to delete such files by using the standard user interface.

More Information

NOTE: You must be logged on locally to the Windows computer to delete these files.

If the file was created on a file allocation table (FAT) partition, you may be able to delete it under MS-DOS by using standard command line utilities (such as DEL) with wildcard(s). For example:

  • DEL PR?.*

  • DEL LPT?.*
These commands do not work on an NTFS file system partition as NTFS supports the POSIX subsystem and filenames such as PRN are valid under this subsystem. However, the operating system assumes the program that created them can also delete them; therefore, you can use commands native to the POSIX subsystem.

You can delete (unlink) these files using a simple, native POSIX program. For example, the Windows Resource Kit includes such a tool, Rm.exe.

NOTE: POSIX commands are case sensitive. Drives and folders are referenced differently than in MS-DOS. Windows 2000 and later POSIX commands must use the following usage syntax:

posix /c <path\command> [<args>] IE: posix /c c:\rm.exe -d AUX.
Usage assumes Rm.exe is either in the path, or the current folder:

rm -d //driveletter/path using forward slashes/filename
For example, to remove a file or folder named COM1 (located at C:\Program Files\Subdir in this example), type the following command:

rm -d "//C/Program Files/Subdir/COM1"
To remove a folder and all of the its contents (C:\Program Files\BadFolder in this example), type the following command:

rm -r "//C/Program Files/BadFolder"
Another option is to use a syntax that bypasses the typical reserve-word checks completely. For example, you can possibly delete any file with a command such as:

DEL \\.\driveletter:\path\filename
For example:

DEL \\.\c:\somedir\aux
If the name in the file system appears as a directory, use the following syntax.

For example, you can possibly delete any directory with a command such as:

RD \\.\<driveletter>:\<path>\<directory name>
For example:

RD \\.\c:\somedir\aux
RmDir \\.\<driveletter>:\<path>\<directory>

For example:
RmDir \\.\C:\YourFTP_ROOT's_PATH\COM1 /s /q
/s-This switch removes all directories and files in the specified directory and also the directory itself. This switch also removes a directory tree.

/q-This switch stands for Quiet mode. Do not ask if you can remove a directory tree that contains the /s switch.

Номер статьи: 120716 — последний просмотр: 30 окт. 2006 г. — редакция: 1

Отзывы и предложения