Undestructible file

C

Crest Teethgel

The file to be deleted is: not locked, attribut normal, o byte
The exception here is that it's filename ended with a space. Filename "25 The "

explorer.exe gives the following message when the action is to delete it:
Impossible de supprimer fichier: impossible de lire à partir du fichier ou de la disquette source
This can be translated as:
Impossible to delete file: Impossible to read from file or from diskettesource

After a Google search I did the following (resulting messages are translated):

del "25 The "
del "\\.\c:\prob\25 The "
Impossible to find ... 25 The

chkdsk /f c:
problem still persistant

C:\gnuwin32\bin\rm -f "25 The "
C:\gnuwin32\bin\rm -f "\\.\c:\prob\25 The "
No message

RmDir \\.\C:\prob /s /q
25 The - Le fichier spécifié est introuvable.
25 The - Specified file can not be found

C:\SysinternalsSuite\sdelete.exe ".\25 The "
No files found that match

Boot with safety mode + del
Impossible to find

hardlinkcreate.exe ".\bof.txt" ".\25 The "
Specified file (2) can not be found

fsutil file createnew ".\25 The " 0
25 The created.
The file created here is "25 The" not "25 The ".

From my humble opinion a direct intervention in NTFS is the only way togo.
But I don't know how.

Someone can help me ?
Thank you in advance.
 
J

John John - MVP

Crest said:
The file to be deleted is: not locked, attribut normal, o byte
The exception here is that it's filename ended with a space. Filename
"25 The "

explorer.exe gives the following message when the action is to delete it:
Impossible de supprimer fichier: impossible de lire à partir du fichier
ou de la disquette source
This can be translated as:
Impossible to delete file: Impossible to read from file or from diskette
source

After a Google search I did the following (resulting messages are
translated):

del "25 The "
del "\\.\c:\prob\25 The "
Impossible to find ... 25 The

chkdsk /f c:
problem still persistant

C:\gnuwin32\bin\rm -f "25 The "
C:\gnuwin32\bin\rm -f "\\.\c:\prob\25 The "
No message

RmDir \\.\C:\prob /s /q
25 The - Le fichier spécifié est introuvable.
25 The - Specified file can not be found

C:\SysinternalsSuite\sdelete.exe ".\25 The "
No files found that match

Boot with safety mode + del
Impossible to find

hardlinkcreate.exe ".\bof.txt" ".\25 The "
Specified file (2) can not be found

fsutil file createnew ".\25 The " 0
25 The created.
The file created here is "25 The" not "25 The ".

From my humble opinion a direct intervention in NTFS is the only way to
go.
But I don't know how.

Someone can help me ?
Thank you in advance.

Try dragging the file from Explorer to the DEL command at the Command
Prompt.

Open Explorer.exe and navigate to the stubborn file, leave the Explorer
Window open.

Open a Command Prompt and type the following partial command:

del "\\?\

Now, from Explorer highlight and grab the stubborn file and drag it to
the Command Prompt and drop it at the end of the partial command. Pay
attention to the "quotation marks", if there are spaces in the file name
Explorer will automatically surround the path with quotation marks.
Make sure that there is only on set of quotation marks, like so:

del "\\?\C:\temp\New Text Document.txt"

and *not* like this:

"\\?\"C:\temp\New Text Document.txt"

John
 
D

Db

you might try running
check disk so that the
fat can be reconciled
to the file system.

another thing you might
try is booting into safe
mode and try to delete
the file.

lastly, I recall a utility
that deletes zero byte
files from the disk.

don't recall what it is
anymore,

but worth a try searching
for the feature and see
what utility has it.

--
--
db·´¯`·...¸><)))º>

DatabaseBen, Retired Professional

~~~~~~~~~~~~~~~
This NNTP newsgroup is evolving to:

http://answers.microsoft.com/en-us/default.aspx
 
P

Paul

Crest said:
The file to be deleted is: not locked, attribut normal, o byte
The exception here is that it's filename ended with a space. Filename
"25 The "

explorer.exe gives the following message when the action is to delete it:
Impossible de supprimer fichier: impossible de lire à partir du fichier
ou de la disquette source
This can be translated as:
Impossible to delete file: Impossible to read from file or from diskette
source

After a Google search I did the following (resulting messages are
translated):

del "25 The "
del "\\.\c:\prob\25 The "
Impossible to find ... 25 The

chkdsk /f c:
problem still persistant

C:\gnuwin32\bin\rm -f "25 The "
C:\gnuwin32\bin\rm -f "\\.\c:\prob\25 The "
No message

RmDir \\.\C:\prob /s /q
25 The - Le fichier spécifié est introuvable.
25 The - Specified file can not be found

C:\SysinternalsSuite\sdelete.exe ".\25 The "
No files found that match

Boot with safety mode + del
Impossible to find

hardlinkcreate.exe ".\bof.txt" ".\25 The "
Specified file (2) can not be found

fsutil file createnew ".\25 The " 0
25 The created.
The file created here is "25 The" not "25 The ".

From my humble opinion a direct intervention in NTFS is the only way to
go.
But I don't know how.

Someone can help me ?
Thank you in advance.

Some of the things you've tried, are described here.

http://support.microsoft.com/kb/320081

NTFS stores file names in Unicode. Perhaps the
file name is not exactly "25 The " as you expect ?

Could it be, that a non-printable character is also
in the file name ? That might be the problem, rather
than the space character at the end of the name.

Paul
 
C

Crest Teethgel

Try dragging the file from Explorer to the DEL command at the Command
Prompt.

Open Explorer.exe and navigate to the stubborn file, leave the Explorer
Window open.

Open a Command Prompt and type the following partial command:

del "\\?\

Now, from Explorer highlight and grab the stubborn file and drag it to
the Command Prompt and drop it at the end of the partial command. Pay
attention to the "quotation marks", if there are spaces in the file name
Explorer will automatically surround the path with quotation marks.
Make sure that there is only on set of quotation marks, like so:

del "\\?\C:\temp\New Text Document.txt"

and *not* like this:

"\\?\"C:\temp\New Text Document.txt"


From what I understood the UNC (Uniform Naming Convention) syntax
could relieve some windows command from faulty filename.

The example given was: del \\.\path\filename.ext

Since my PC is not on a network the initial dot stands for localhost.
And that command failed to remove the file.

But with your syntax \\?\\path\filename. It works just fine.
The ^%$#@ file is deleted. You can put this case in your well resolded pool !!!
You deserve your MVP certificate.

Can you tell me where I can learn more about UNC ?
What does meen the ? instead of . for server identification ?

Thanks again

Jean-François
 
P

Paul

Paul said:
Some of the things you've tried, are described here.

http://support.microsoft.com/kb/320081

NTFS stores file names in Unicode. Perhaps the
file name is not exactly "25 The " as you expect ?

Could it be, that a non-printable character is also
in the file name ? That might be the problem, rather
than the space character at the end of the name.

Paul

To test what the real file name might be, I tried some testing in
a VirtualPC session. I have Win2K running in a virtual machine.
I created an NTFS virtual disk in there, and put a few files on
it at the root level.

Next, I booted the same virtual machine, using a Linux LiveCD
(Knoppix 6.2.1), and used the ntfsinfo command, which is
part of some ntfs utilities. It is already included on the CD,
and doesn't need to be installed with package manager or anything.

This is the command that worked for me, to give an example of
the syntax.

ntfsinfo -v -F / -d /dev/sdb1

The disk is not mounted in Linux, while running the command. If
the file explorer window is currently showing the contents of the
disk, you'd right click the disk icon and select an unmount option,
to unmount it.

Now, path names are referenced to the root level of the disk.
In this example, by using the -v verbose option, the program
will dump the file names of all the files in the "/" directory.
If you were working in C:\some\directory , then you'd use

-F /some/directory

to list the directory contents. You still have to figure out the raw device
name, which in my virtual example was /dev/sdb1. The "1" indicates
in this example, that it was the first partition on the sdb disk
device.

So I can use that program, as an example of dumping detailed information
about the files. I can get both the long file name and the short
file name, using that method. Perhaps the file could be deleted,
using its short file name (8.3 style).

The weird part is, the execution of that command, does not give me
the impression it could handle Unicode, but I don't really know how
to fake a good Unicode example to work with :)

Paul
 
J

John John - MVP

Crest said:
From what I understood the UNC (Uniform Naming Convention) syntax
could relieve some windows command from faulty filename.

The example given was: del \\.\path\filename.ext

Since my PC is not on a network the initial dot stands for localhost.
And that command failed to remove the file.

But with your syntax \\?\\path\filename. It works just fine.
The ^%$#@ file is deleted. You can put this case in your well resolded
pool !!!
You deserve your MVP certificate.

Can you tell me where I can learn more about UNC ?
What does meen the ? instead of . for server identification ?

It bypasses the Win32 reserved name check. Dropping the file to the
command prompt is effective when dealing with special characters or
trailing spaces.

Thanks again

You're welcome.

John
 
P

pjp

You might also try a "wildcard" to delete the file, e.g. go into Safe Mode,
open a command prompt, cd to the folder and use "del 25*.*" (note the space
after 25). God, miss the old days and Norton Utilities where could easily
just do the low level edit on the filename stored on the hard disk.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top