Avatar billede fgj Nybegynder
12. august 2008 - 09:58 Der er 7 kommentarer og
1 løsning

Hjælp til sletning via DEL kommando

Jeg har problemer med at slette de rigtige filer via kommandoprompt og kommandoen DEL.
I en mappe har jeg 3 filer:
a.dat
a.data
a.datalog

Jeg ønsker at slette alle .dat filer, men kommandoen
del *.dat sletter alle 3 filer.
Lidt mystisk synes jeg, for del *.data sletter kun som forventet a.data og ikke a.datalog.
Hvordan kan jeg løse mit problem?
Avatar billede pidgeot Nybegynder
12. august 2008 - 10:08 #1
Grunden er de "korte" 8.3 filnavne der genereres af hensyn til bagudkompatibilitet - filtypen for de to andre filer bliver nemlig også "DAT":

C:\temp>dir /x *.dat
Disken i drev C er System
Diskens serienummer er A4E9-24BB

Indhold af C:\temp

12-08-2008  10:02                0              a.dat
12-08-2008  10:02                0 ADDEB~1.DAT  a.data
12-08-2008  10:02                0 AEEC0~1.DAT  a.datalog
              3 fil(er)                0 byte
              0 mappe(r)  12.569.247.744 byte ledig

Du kan tvinge den til kun at slette a.dat med den noget mere komplicerede linje, der tvinger den til at kigge på den "lange" filendelse:
for %i in (*.dat) do @if "%~xi" equ ".dat" del "%~i"

Hvis du i stedet for del bruger echo, kan du se hvad der vil blive slettet:

C:\temp>for %i in (*.dat) do @if "%~xi" equ ".dat" echo %~i
a.dat

Hvis det er til en batchfil, så husk at fordoble procenttegnene.

Det er også muligt at slå 8.3-navne fra, men det kommer kun til at gælde for kommende filer, så det er sikkert ikke nok.
Avatar billede fgj Nybegynder
12. august 2008 - 10:16 #2
Super - det virker.
Hvis du smider svar får du points.
Avatar billede pidgeot Nybegynder
12. august 2008 - 10:27 #3
Værsgo :)
Avatar billede fgj Nybegynder
12. august 2008 - 10:32 #4
!
Avatar billede fgj Nybegynder
12. august 2008 - 11:11 #5
Næste problem: den oprindelige del kommando, der ikke virkede, skulle også slette i undermapper:
del *.dat /S

Hvordan får jeg ovennævnte for kommando til at medtage undermapper?
Avatar billede pidgeot Nybegynder
12. august 2008 - 11:16 #6
for /r in (*.dat) do @if "%~xi" equ ".dat" del "%~i"
Avatar billede fgj Nybegynder
12. august 2008 - 11:35 #7
Tusind tak - det virker også. Jeg ville egentlig have givet flere point, men det kan man vist ikke, når points er uddelt?
Hvis du vil have flere, så sig bare til - så opretter jeg et nyt spørgsmål.
Avatar billede pidgeot Nybegynder
12. august 2008 - 14:35 #8
Når point er uddelt, så nej, der skal oprettes et nyt spørgsmål. Inden de er givet, så kan du godt tildele flere (oppe under funktioner).

Jeg skal dog ikke have mere uanset hvad, som du kan se er det en meget lille ændring (/r) ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester