Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
DELETE FILE with WildCards
Message
De
05/11/1998 13:40:38
 
 
À
05/11/1998 13:30:02
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00154920
Message ID:
00154942
Vues:
16
>>Vfp 5.0a SP3
>>
>>In HELP for DELETE FILE, it says under Remarks:
>>
>>"The file you want to delete cannot be open when DELETE FILE is issued. The file name must include a path if it is on a different drive or volume, or in a different directory or folder from the default, and the file name extension must be included. The file name cannot contain wildcards."
>>
>>… but when my default is on drive C: and I issue the command "DELETE FILE D:\Temp\xxx*.*", all files in D:\Temp matching xxx*.* ARE successfully deleted. As it turns out, this is what I want to happen. I do have concerns, though, as the documentation seems to say that this capability is not supported.
>>
>>How safe am I to rely on this capability?
>>
>
>It seems to work in most cases; I don't rely on the capability myself, instead, I use ADIR() to populate a list of files to delete, and then ERASE them one at a time. I've seen inconsistent results with wildcarded file deletion (which inevitably fails when I plan on doing something like an RMDIR once I've "emptied" the directory) and have gotten back in the habit of not relying on wildcarded deletion. Another advantage to spinng through the files one at a time is that I can remove Hidden/System/read-Only flags from the files by calling a Win32 API function before deleting the file,as in the following example:
>
>
>DECLARE INTEGER SetFileAttributes IN Kernel32 ;
>	STRING cFileNameToAlter, ;
>	INTEGER nAttributeMask
>DECLARE aFiles[1,5]
>nNumFiles=ADIR(aFiles,'D:\MyDir\*.*','SH')  && include system/hidden files
>FOR i = 1 TO nNumFiles
>   =SetFileAttributes('D:\MyDir\'+aFiles[i,1],0)
>   ERASE ('D:\MyDir\+aFiles[i,1])
>ENDFOR
>
Ed
Both you and Brenda report inconsistant results with DELETE FILE with wildcards and that's good enough for me to avoid it. I really like your approach above and plan to use it.

Thanks to all!
Bob
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform