Der er flere måder man kan gøre det hurtigere, men scriptet bliver let meget kompliceret. Man kunne lave en fil med alle filer og deres størrelse vha: for %%I in (*) do echo %%~zI %%I >>list.txt Derefter kunne man sortere filerne i list.txt filen efter størrelse vha kommandoen sort. Så kunne læse text-filen og sammenligne de filer der har samme størrelse.
Det er også muligt at man kan lave scriptet hurtigere ved at udføre de to første if i funktionen :compare inden man kalder funktionen, derved ville man undgå en række funktionskald. For løkken vil så komme til at se ca. sådan ud (utestet): for %%A in (*) do if not [%%A]==[%1] do if not [%%~zA]==[%2] call :compare "%%A" %1
Så kunne man fjerne de to første linier i :compare funktionen
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har prøvet at lave en bat-fil med denne kommando: for %%I in (*) do echo %%~zI %%I >>list.txt
Listen ser fint ud.
Jeg kan ikke rigtigt få det andet til at virke. Scriptet skriver noget med, at "do" ikke blive genkendt af batch-programmet. Har jeg misforstået noget?
for %%A in (*) do call :First "%%A" %%~zA goto :eof
:First for %%A in (*) do call :compare "%%A" %1 %%~zA %2 goto:eof
:compare for %%A in (*) do if not [%%A]==[%1] do if not [%%~zA]==[%2] call :compare "%%A" %1 fc /B %1 %2 |findstr "Ingen forskelle fundet" fc /B %1 %2 if errorlevel 1 goto :eof echo %1 and %2 is the same file del %1
1: Du skal kun have to loops, den første og den efter :first
2: Den loop der er efter :first skal ligne den der er efter :compare, bortset fra at do er en del af for kommandoen, så du skal kun have en do, den første.
Det kan godt være, at jeg skal flytte spørgsmålet.
Har jeg rette de rigtige steder? Jeg har prøvet at køre dette script, men forstår det ikke. Jeg synes, at det stadigvæk sammenligner alle filer med hinanden.
Scriptet skal sortere alle filerne efter størrelse, og hvis der så er nogle der er ens, skal scriptet sammenligne disse og slette dem der for mange af.
for %%A in (*) do call :First "%%A" %%~zA goto :eof
:First for %%A in (*) do if not [%%A]==[%1] if not [%%~zA]==[%2] call :compare "%%A" %1 goto:eof
:compare fc /B %1 %2 |findstr "Ingen forskelle fundet" fc /B %1 %2 if errorlevel 1 goto :eof echo %1 and %2 is the same file del %1
1: I den første for loop kalder vi :first med filnavnet i "" for at ungå problemer med filernavne der har mellemrum. Så den første if sammenligner et filnavn med "" omkring mod et uden. Så vi kan tilføje "" til det andet filnavn med if not ["%%A"]==[%1] eller fjerne det for det første med if not [%%A]==[%~1]
2: Den anden if vender forkert, vi skal netop sammenligne de to filer hvis de har samme størrelse, dvs fjene not efter den anden if.
3: I :compare er der to fc kommandoer, jeg går ud fra at nummer to er der for at kunne teste hvad der sker. Men den bør være først, fordi vi med "if errorlevel 1 goto :eof" ønsker at checke errorlevel fra findstr kommandoen.
Da jeg nu har fortalt hvordan man får scriptet til at virke, kunne opgaven gå ud på at forklare hvad der sker...
Regner med det er sådan her, scriptet skal se ud. Det ser ud som om scriptet sammenligner en fil med alle de andre filer og kalder compare, hvis størrelsen på de to filer er lige store.
Det tager stadigvæk alt for lang tid. Hvis alle filer skal sammenlignes om alle filer, så tager det flere dage (f.eks. 2000 billeder * 2000 billeder= 4000000 billeder, som skal køres igennem af scriptet)
Kan man ikke få scriptet til at sortere efter størrelsen ligesom med for %%I in (*) do echo %%~zI %%I >>list.txt
og så der, hvor der er flere filer med samme størrelse, laver man en sammenligning. Altså køre f.eks. de 2000 billeder igennem og finde f.eks. de 50 billeder som har samme størrelse og sammenligner dem. På den måde er der kun ca. 2000 billeder, som skal køres igennem scriptet og ikke 4000000 billeder.
Kigger lige på det endnu en gang i morgen.
for %%A in (*) do call :First "%%A" %%~zA goto :eof
:First for %%A in (*) do if not ["%%A"]==[%1] if [%%~zA]==[%2] call :compare "%%A" %1 goto:eof
:compare fc /B %1 %2 fc /B %1 %2 |findstr "Ingen forskelle fundet" if errorlevel 1 goto :eof echo %1 and %2 is the same file del %1
Man kan godt lave det så man arbejder på en liste med filer der er sorteret efter størrelse, men det bliver let lidt tungt at arbejde med, og jeg tror at du skal øve dig lidt mere på lidt simplere scripts først.
Jeg tror også, at jeg skal have lidt mere øvelse i scripts først, så jeg holder mig til det andet spørgsmål http://www.eksperten.dk/spm/398456 og får lidt øvelse der.
Jeg har stadigvæk alle de billeder, som jeg skal have sorteret i. Det vil være en meget stor hjælp, hvis du kunne lave scriptet så det kører hurtigere, da jeg snart får nogle ekstra billeder af familie og venner.
Jeg havde selv problemet for noget tid siden og besluttede da at det letteste og hurtigste var at lave et lille c-program til at fjerne dupletter, jeg har lagt det her:
Når jeg kører checkdup.exe filen får jeg følgende fejlmeddelse: "Det var ikke muligt af finde DLL'en cygwin1.dll i den angivne sti....." Hvad skal jeg gøre?
Ups, jeg havde ved et uheld kompileret med cygwin. Jeg har uploadet en ny version der er kompileret med BorlandC denne bruger ikke cygwin1.dll Filnavnet er stadig: http://home20.inet.tele.dk/midgaard/checkdup.zip
C source koden til programmet findes i checkdup.c der er med i zip-filen ;-)
Der er sådan set ikke noget inviklet i det, der checkes for om filerne har samme størrelse og hvis de har det sammenlignes filerne byte for byte indtil der er fundet en forskel, hvis der ikke findes en forskel er de ens og den ene slettes.
Programmet demonstrerer fint at bat-scripts ikke er hurtige og til lidt mere komplicerede opgaver er andre sprog som f.ex. C at forretrække.
Nu kender jeg ikke så meget til programmering (endnu) og ved ikke, hvad C er og hvordan man programmere i det. Jeg har set koden til programmet og forstår ikke ret meget af det.
Jeg holder mig til bat-scripts og prøver at lave noget grundlæggende.
Jeg er rigtigt glad for programmet, da det løser opgaven på ingen tid og programmet gør jo det, det skal.
Du vil stadigvæk ikke have nogle point? Så vil jeg tage og lukke spørgsmålet.
Jeg har et lille problem, som du måske kan hjælpe mig med! Mit ene memory card mange billeder fra ferien, ville ikke læses i min memory card læser. Ved hjælp af et recovery program, lykkes det mig at redde alle billederne undtaget tre.
Da recovery programmet har givet dem andre navne, end dem som kameratet har givet dem, er det gået kage i navngivningen af billederne. Kort og godt er der kaos i mine billeder nu.
Jeg har prøvet at køre checkdup, men der er stadigvæk billeder som er ens (ens billeder, men forskellige navne). Hvordan finder jeg alle ens billeder (også selvom de hedder noget andet)?
Kan man gøre en eller andet, så man kan ændre navngivning "tilbage" til det gamle/rigtige? Billederne indeholder data om, hvornår de er taget (tid og dato). F.eks. på navngivning fra kameraet DSC01558.JPG og navngivningen fra recovery programmet File64.JPG.
checkdup burde finde ens billeder selv om de har forskellige navne.
Du skriver at "Billederne indeholder data om, hvornår de er taget", hvordan læser man disse data, og hvordan oversætter man disse data til filnavn? Er filnavnet blot et fortløbende nummer? Er dato og tid på filerne korrekte?
Jeg har prøvet at køre checkdup igen. Jeg har gjort følgende:
1) dir /S /B *.* >dir.lst 2) checkdup -a dir.lst
Dog står der ud for nogle af filerne "Unable to open:...."
Når jeg så indlæser alle billederne i mit billedbehandlingsprogram, kan jeg se at der er flere ens billeder med et forskelligt navn (billedet er det samme, da det er taget på samme tidspunkt).
Filnavnet der bliver skrevet af kameraet er fortløbende (DSCXXXXX.JPG, hvor x er det fortløbende nummer). Billederne indeholder data om, hvornår billedet er taget, dette kan ses i mit billedbehandlingsprogram (jeg ved ikke, hvordan det indhenter disse data).
Heldigvis er dato og tiden korrekt på alle billederne.
Jeg lavede lige et bat-scrip der omdøber alle jpg-filer i den mappe det er kørt i til DCSxxxxx.jpg, xxxxx er et fortløbende nummber der starter med et tal som du skal angive som parameter. For at teste udskriver det kommandoen i stedet for at udføre den, fjern echo i næst sidste linie hvis det ser ud til at virke.
@echo off if [%1]==[] echo Du skal angive et startnummer& goto :eof set Start=%1 for /F %%I in ('dir /B /OD *.jpg') do call :process "%%I" goto :eof
:Process set Current=00000%Start% set Current=%Current:~-5% echo ren %~1 DSC%Current%.jpg set /A start=%Start%+1
Du bør kopiere de filer der har forket navn til en ny mapppe og gemme ovenstående script der.
Den ældste fil vil få det laveste nummer og den nyeste vil få det største. Jeg ved ikke hvordan man udlæser dato informationen fra et billede, jeg kan måske finde ud af det, men prøv lige om ovenstående ikke løser problemet.
Jeg vil kikke lidt på checkdup senere og se om jeg kan finde fejlen.
Jeg har lavet en mappe med de "forkerte" navngivet billeder. Jeg har kørt bat-script og det ser også ud til at det omdøber billederne, men når jeg så kigger i mappen er der ikke sket noget. Hvad gør jeg forkert?
Problemet med de "forkerte" billeder er, at de alle er oprettet indenfor nogle få sekunder af recovery programmet (dette kan man se, når man højreklikket på billedet og vælger egenskaber. Dog kan billedbehandlingsprogrammet læse, hvornår billedet er taget (disse oplysninger er korrekte).
Recovery programmet har navngivet filerne sådan: File1.JPG, File10.JPG-File19.JPG også File2.JPG. osv.
Jeg gentager lige fra 20/10-2003 23:11:18: "For at teste udskriver det kommandoen i stedet for at udføre den, fjern echo i næst sidste linie hvis det ser ud til at virke."
Hvordan ser du tidspunktet i billedbehandlingsprogrammet? Er det en del af billedet eller er det en seperart billed information?
Nu har jeg prøvet med uden echo i næst sidste linie. Bliver rækkefølgende rigtigt, når "Recovery programmet har navngivet filerne sådan: File1.JPG, File10.JPG-File19.JPG også File2.JPG. osv."?
Billedbehandlingsprogrammet viser dato og tidspunkt over billedet. Så kan man også kigge i complete metadata, hvor der næsten står alt om billedet.
Bat-scriptet bruger ikke filnavnet til noget. Du kan evt. prøve at fjerne /OD fra dir kommandoen og se om det giver et bedre resultat.
Jeg vil gerne se en fil med dato og tidspunkt, kan du sende mig en? Jeg kan prøve om jeg kan læse dato og tidspunkt og bruge det til at navngive filerne. Jeg kan måske også lave det så filernes data og tid (som du ser den i explorer) bliver sat ud fra det der står i billedet.
Jeg kan også godt lave et script der bruger numrene fra Filexx.jpg til at omdøbe til DSCxxxxx.jpg. Det kræver dog at numrene fra Filexx.jpg har den rigtige rækkefølge.
3: Åben en kommando prompt & skift til mappen fra punkt 1 (cd ...)
4: Kør følgende kommando: for %I in (*.jpg) do @echo %I& filedate %I Nu skulle den gerne skrive alle filer og den dato og tid der er gemt i billedet, f.ex:
File17.JPG Time: 2003:07:07 11:36:26
Hvis ikke det ser rigtigt ud, så send et billed der fejler og stop her. Som du kan se er det billed du sendte taget d. 7/7 hvilket gør at jeg ikke rigtigt kan se om det første 7-tal er måned eller dag, jeg har gået ud fra at det første 7-tal er måned.
5: Hvis det ser rigtigt ud, kan du sætte filedate.exe til at ændre dato og tid på filerne til den dato & tid der står i billedet, det gør du ved at køre kommandoen:
for %I in (*.jpg) do @echo %I& filedate -d %I
Nu skulle alle billederne gerne have den rigtige dato og tid, check ved at køre en dir.
6: Hvis alt ser fint ud kører du scriptet fra "20/10-2003 23:11:18", og filerne skulle nu have de rigtige navne.
At finde det højeste filnummer burde ikke være svært, åben explorer og scroll ned til det sidste billede og aflæs numret (eller har jeg misforstået spørgsmålet?).
Jeg forstår ikke "Kan jeg navngive ALLE mine billeder på nu?" Det burde vel ikke være nødvendigt at omdøbe dem alle. Men hvis du gør bør du give dem et andet navn end DSCxxxxx.jpg
Da jeg har en del undermapper med billeder og disser er inddelt i begivenheder, så det er ikke bare lige scrolle ned til det sidste billede. Kan man ikke på en eller anden måde gennemsøge alle undermapper for det højeste filnummer?
Når jeg har det højeste filnummer, kan jeg omdøbe rigtigt de "forkerte" filnavne.
Men da jeg har slettet nogle få billeder (da jeg ikke synes de var gode), er der "hul" jeg rækkefølgen. Det kunne være dejlige at kunne omdøbe filerne, så der ikke er nogle "huller" tilbage.
Derudover har jeg en cd med billeder (billederne er ikke taget med mit kamera), kunne jeg godt tænke mig at omdøbe disse filer (da de ikke har navn som DSCxxxxx.jpg)
Du kan gemme følgene i en bat-fil i roden af dn mappe struktur:
@echo off set Start=1 for /F %%I in ('dir /S /B /OD *.jpg') do call :process "%%I" "%%~dpI" goto :eof
:Process set Current=00000%Start% set Current=%Current:~-5% echo move %~1 %~2tmp%Current%.jpg set /A Start=%Start%+1
Det bruger ingen parametre. Det vil omdøbe alle dine jpg-filer til tmpxxxxx.jpg. Hvor xxxxx vil være et fortløbende nummer, der starter ved 00001.
BEMÆRK: echo i næst sidste linie gør at kommandoen til omdøbning kun bliver udskrevet, IKKE udført. Kør først scriptet som det er, hvis det ser ud til at omdøbnings kommandoerne ser ud som ønsket, slettes echo i næst sidste linie og scriptet køres igen. Check lige to gange at det ser rigtigt ud, ellers ender du måske med noget rod (eller lav en backup af alle dine billeder).
Derefter retter du tmp i næst sidste linie til DSC og kører det igen. Derved vil alle filerne blive omdøbt til DSCxxxxx.jpg, hvor xxxxx stadig er et fortløbende nummer. Det er nødvendigt at gøre det af to omgange, for at undgå overlappende filnavne.
Jeg kan ikke rigtigt få det til at virke med de to bat-filer (har slettet echo i næstsidste linie). Bat-filer ikke fundet (cmd skriver: den angivne fil blev ikke fundet).
Prøv lige at fjerne den første linie (@echo off) og kør det igen, så vi kan se hvor det går galt (hvilken linie der skriver "den angivne fil blev ikke fundet"). Jeg går ud fra at det er det seneste bat-script du prøver med.
Ja, det er det sidste bat-script jeg bruger. Jeg tror lidt af problemet er, at mapperne hedder f.eks. xxx fødselsdag. Når jeg så kører bat-scriptet, hedder stien et eller andet før og så mappens navn, men bruger kun xxx (og bruger ikke xxx fødselsdag) og derved ikke kan finde billederne.
/OD i dir commandoen skulle betyde at den ældste bliver "listet" først og dermed få nummer 1
For fremtiden kan du bruge en modificeret udgave af scriptet fra "20/10-2003 23:11:18" på de nye filer fra kameraet. DVS. bruge det script til at give dem numre derfra hvor du er kommet til. Vi kan rette scriptet så selv det finder højeste nummer på nogen jpg-fil og så give de nye filer numre fra dette nummer.
Da du (så vidt jeg ved) flytter billeder ind i undermapper efter emne, er det måske ikke så vigtigt at de alle har unikke numre? Man kunne måske give billeder i en mappe numre fra 1 og op?
Det er måske også muligt at fortælle kameraet hvilket nummer det skal give det næste billede du tager?
Det vil være helt fint, hvis vi kan rette scriptet fra "20/10-2003 23:11:18", så det selv finder det højeste nummer og giver de nye filer numre fra dette nummer.
Jeg synes at billederne skal havde unikke numre. Måske kunne vi give dem andre navne end DSCxxxxx.jpg, men i første omgang er dette godt nok.
Jeg har lige kigget på mit kamera og kan ikke lige se, hvordan jeg kan fortælle hvilke nummer det næste billede skal have. Har du nogen idé om, hvordan man gør det (hvis man kan)?
Åben filen i Nodepad, ret linie 41234 til: fælasdkjfdsælf123209348k32l4kj3423493204982309480324 djfdsklfjdkfkkfkfkfkf
Eller... Jeg er ikke synsk, jeg ved ikke hvordan filen ser ud! Ligner det noget fornuftigt når du prøver at åbne filen i Notepad, Internet Explorer, i ...? Hvilken extension har filen? Er der noget der ligner et filnavn i den?
Jeg har prøvet at åbne en fil i notepad, men kan ikke lige finde noget som ligner et filnavn. Jeg kan dog finde dato og hvilke kamera billedet er taget med.
1: Løber alle Imgxxxxx.jpg filer igennem, i den mappe det er kørt fra OG alle undermapper, finder den med det største nummer. 2: Omdøber alle DSCxxxxx.jpg til Imgxxxxx.jpg, i den mappe det er kørt fra OG alle undermapper, hvor xxxxx er et fortløbende nummer der starter med det største nummer fra punkt et + 1.
Herved opnår vi at alle billeder får unikke fortløbende numre, og du undgår at skulle få dit kamera til at give billederne nye numre. Ulempen er så at billederne ikke hedder DSCxxxxx.jpg men Imgxxxxx.jpg.
Hver gang du har kopieret et sæt billeder fra kameraet til din PC kører du blot scriptet igen.
Husk at lave en backup af din billeder inden du kører scriptet. Jeg har IKKE lavet en echo der skal fjernes for at få scriptet til at omdøbe filerne i stedet for at udskrive kommandoen.
@echo off setlocal
set DestPrefix=Img set SrcPrefix=DSC set First=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>1') do call :FindLargest "%%I" set /A First+=1 echo First: %First%
for /F "tokens=*" %%I in ('dir /S /B /OD %SrcPrefix%?????.jpg') do call :ChangeName "%%I" endlocal goto :eof
:FindLargest set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %First% set /A First=%Number% goto :eof
:ChangeName set New=00000%First% set New=%New:~-5% Move %1 "%~dp1%DestPrefix%%New%.jpg" set /A First+=1
Har du prøvet at åbne et af mine billeder i notepad? Jeg tror at kameraet husker, hvilke nummer det er kommet til.
Det er fint at scriptet skriver, hvor mange billeder der ligger i mapperne. Jeg kunne oprette en mappe, hvor jeg ligger billederne fra kameraet over og navngive det derfra.
Jeg synes ikke rigtigt at kunne forstå rækkefølgen i billederne, efter jeg har omdøbt dem. Scriptet starter vel med at give det ældste billede det første nummer? Hvorfor må billederne ikke hedde DSCxxxxx.jpg?
Måske skal jeg bare bruge scriptet fra 22/10-2003 22:53:40? Det fjerner vel "huller" i rækkefølgen i billederne?
Flytter lige billederne fra backup-mappen over til min billedmappe og kigger på det helt fra starten.
Kameraet må have et andet sted hvor det gemmer information om hvad den næste fil skal hedde, for at det kan finde ud af det, selvom du har slettet alle billeder fra kameraet.
Scriptet skulle gerne give det ældste billede det laveste nummer. Jeg er dog ikke sikker på at det virker hvis billederne ligger i forskellie undermapper, kikker lige på det senere i aften.
Grunden til at jeg ville give billederne et andet navn var at ungå at omdøbe alle billederne hver gang du kopierer billeder fra kameraet (men kun de nye), derved skulle vi gerne undgå at få rod i nummeringen.
Jeg har prøvet at lege lidt med de forskellige script, men det driller med de undermapper!
Jeg har en mappe med undermapper, hvor jeg kører scriptene fra. Så har jeg backupmappen, som jeg sammenligner med. Der er en undermapper i backupmappen med mine første billeder. Disse billeder bliver ikke angivet som de første, så der må være en fejl et eller andet sted!
Jeg har lavet et nyt script der burde løse problemet. Det gør følgende:
1: Sikrer at alle billeder har den rigtige dato/tid ved at køre filedate.exe (husk at gemme filedate.exe i samme mappe som du kører scriptet fra)
2: Laver en fil (temp1.temp) med navne på alle filer og deres dato/tid.
3: Sorterer linierne i denne fil så de er sorteret korrekt efter tid.
4: Omdøber alle filer til TTTxxxxx.jpg, hvor xxxxx er et fortløbende nummer der starter ved 1.
5: Omdøber alle filer fra TTTyyyyy.jpg til DSCyyyyy.jpg
Herved skulle alle filer have et unikt fortløbende nummer, med den korrekte nummerorden, uden huller i numreringen og filerne ender med at hedde DSCxxxxx.jpg
Husk at lave backup inden du kører scriptet.
@echo off setlocal if exist temp1.temp del temp1.temp for /F "tokens=*" %%I in ('dir /S /B *.jpg') do filedate.exe -d %%I set Start=1 for /F "tokens=*" %%I in ('dir /S /B *.jpg') do call :Process "%%I" "%%~tI" for /F "tokens=2 delims=;" %%A in ('sort temp1.temp') do call :Renumber %%A for /F "tokens=2 delims=;" %%A in ('sort temp1.temp') do call :FinalName %%A endlocal if exist temp1.temp del temp1.temp goto :eof
:Process for /F "tokens=1-4 delims=- " %%A in (%2) do set dato=%%C%%B%%A:%%D echo %dato% ; %1>>temp1.temp goto :eof
:Renumber set Number=00000%Start% set Number=%Number:~-5% set Name=%~dp1TTT%Number%%~x1 set /A Start=%Start% + 1 move %1 "%Name%" goto :eof
:FinalName set Name=%~n1 set Name=%Name:~3% echo move "%~dp1TTT%Name%.%~x1 "%~dp1DSC%Name%.%~x1
Nu virker det :-). Kan vi ikke prøve at lave lidt sammen på de forskellige ting? Så det er også kan være til brug for andre her på eksperten. Jeg har eller helt styr på, hvad de forskellige script gør.
Jeg starter forfra og prøver at få styr på billederne. Først skal jeg vil sammeligne billederne om der er nogle som er ens, og derefter skal jeg navngive dem.
Når jeg har fået orden på mine billeder, så skal vi finde en metode hvor på jeg kan ligge de nye billeder over.
1: Jeg har kikket lidt på checkdup men kan ikke rigtig se at der skulle være nogen problemer.
Du skrev at det skriver "Unable to open ...", det kunne tyde på at billedet er åbnet i et andet program, hvilket kan give problemer. Er det de samme billeder der giver denne fejl hver gang du kører programmet?
Hvis du har billeder som du mener er ens, men som checkdup ikke ser som ens, kan du prøve at bruge "fc /B image1.jpg image2.jpg" for at checke om de virkelig er ens.
Jeg har lavet en ny version af checkdup der laver nogle flere og bedre checks og som nægter at fortsætte hvis det møder nogen problemer:
Jeg prøver lige det nye script og melder lige tilbage, om det går bedre med det. Hvis der er to billeder som ser ud til at være ens, som pørver jeg med "fc /B image1.jpg image2.jpg".
2) Jeg mente navngive billederne
3) Det kan godt være at du har lavet et script, men jeg kører lige lidt rundt i det for tiden.
Jeg har tænkt mig, når jeg har fået rette de "gamle" billeder, at oprette en mappe som hedder kamera. Så kam jeg tomme mine billeder i den mappe. Jeg skal jo vide, hvor lang talrækken er kommet og derefter navngive dem "rigtigt".
Jeg forstår det ikke. Checkdup2 stopper med det samme ved "Unable to open ...". Jeg har lige genstartet computeren og har ikke startet andet end IE og CMD.
Jeg har lavet en ny list-fil. Den skriver ikke andet end "Unable to open ..." og så stien til filen. Billedet findes (har kigget efter). Det er det føste billede som står på list-filen. Stien til billedet indeholder å og ø, ved ikke om det har noget at sige.
Okay, nu kører det. Der er ingen problemer nu med programmet. Dog har jeg nogle billeder som ser ens ud (taget på samme tidspunkt og har samme filstørrelse).
Jeg har checket det ved at bruge: "fc /B image1.jpg image2.jpg"
Det ene billedet er et som er fra kameraet og det andet er et "recovery" billede. Der er kun 3-4 par af sådanne billeder, så dem sletter jeg manualt.
Jeg har prøvet at navngive billederne (efter det du skrev: 04/11-2003 21:07:21, men får dette meddelse (har rettet den sidste linie i scriptet):
Jeg har rettet scriptet, men får stadigvæk "Den angivne fil blev ikke fundet."
@echo off setlocal if exist temp1.temp del temp1.temp for /F "tokens=*" %%I in ('dir /S /B *.jpg') do filedate.exe -d %%I set Start=1 for /F "tokens=*" %%I in ('dir /S /B *.jpg') do call :Process "%%I" "%%~tI" for /F "tokens=2 delims=;" %%A in ('sort temp1.temp') do call :Renumber %%A for /F "tokens=2 delims=;" %%A in ('sort temp1.temp') do call :FinalName %%A endlocal if exist temp1.temp del temp1.temp goto :eof
:Process for /F "tokens=1-4 delims=- " %%A in (%2) do set dato=%%C%%B%%A:%%D echo %dato% ; %1>>temp1.temp goto :eof
:Renumber set Number=00000%Start% set Number=%Number:~-5% set Name=%~dp1TTT%Number%%~x1 set /A Start=%Start% + 1 move %1 "%Name%" goto :eof
:FinalName set Name=%~n1 set Name=%Name:~3% move "%~dp1TTT%Name%%~x1" "%~dp1DSC%Name%%~x1"
Hvis du har filer der ikke hedder DSCxxxxx.jpg ( Hvis du har prøvet at køre scriptet igen ( Hvilken linie skriver "Den angivne fil blev ikke fundet? Fjern @echo off, kør scriptet igen og copy&paste kommandoen ) Ellers ( Prøv at Kør scriptet igen Hvis det stadig fejler ( Gå til starten ) ellers ( Godt ) ) ) Ellers ( Hvilken linie skriver "Den angivne fil blev ikke fundet? Fjern @echo off, kør scriptet igen og copy&paste kommandoen )
Jeg har fjernet de filer som ikke hedder DSCxxxxx.jpg, men får stadigvæk "Den angivne fil blev ikke fundet", så det må være noget med mappenavnet at gøre (æøå).
Bagefter jeg har scriptet fra 10/11-2003 22:26:59 er der nogle filer som hedder DSCxxxxx.jpg og andre TTTxxxxx.jpg. Jeg forstår det ikke! Jeg kører scriptet som det ser ud 10/11-2003 22:26:59.
ALLE billederne hedder DSCxxxxx.jpg inden jeg kører scriptet (har kigget billederne igennem). Jeg kan se, at der er et "hul" imellem DSC00011 til DSC00015, det er måske det som der driller.
Utroligt at man kan lave så mange fejl i noget der så simpelt.
Det betyder ikke noget hvad filerne hedder inden du kører scriptet, de komer til at hedde DSCxxxx.jpg bagefter.
@echo off setlocal if [%Temp%]==[] ( set TempFile1=temp1.temp set TempFile2=temp2.temp ) else ( set TempFile1=%Temp%\temp1.temp set TempFile2=%Temp%\temp2.temp )
if exist %TempFile1% del %TempFile1% if exist %TempFile2% del %TempFile2%
for /F "tokens=*" %%I in ('dir /S /B *.jpg') do filedate.exe -d %%I set Start=1 for /F "tokens=*" %%I in ('dir /S /B *.jpg') do call :Process "%%I" "%%~tI" for /F "tokens=2 delims=;" %%A in ('sort %TempFile1%') do call :Renumber %%A for /F "delims=;" %%A in (%TempFile2%) do call :FinalName "%%A" if exist %TempFile1% del %TempFile1% if exist %TempFile2% del %TempFile2%
endlocal goto :eof
:Process for /F "tokens=1-4 delims=- " %%A in (%2) do set dato=%%C%%B%%A:%%D echo %dato% ; %1>>%TempFile1% goto :eof
:Renumber set Number=00000%Start% set Number=%Number:~-5% set Name=%~dp1TTT%Number%%~x1 set /A Start=%Start% + 1 move %1 "%Name%" echo %Name%>> %TempFile2% goto :eof
:FinalName set Name=%~n1 set Name=%Name:~3% move "%~dp1TTT%Name%%~x1" "%~dp1DSC%Name%%~x1"
Det ser rigtigt ud nu :-). Nu har jeg alle de "gamle" billeder på plads. Hvad gør jeg med de billeder, som jeg tager fremover? Kan man lave et system, så de nye billeder bliver navngivet efter de "gamle" billeder?
Man kunne let lave et system der finder den fil med det højeste nummer, og giver de nye file numre herfra samtidig med at de flyttes.
Så vidt jeg husker har jeg postet flere løsninger der finder det højeste nummer, og det burde være overkommeligt at omdøbe filene samtidig med at de flyttes, måske din næste opgave?
Jeg kan bruge scriptet fra 20/10-2003 23:11:18 til at omdøbe billederne i mappen kamera, men fandt vi en måde, hvor på man kunne finde højeste nummer (jeg kan ikke lige huske det)?
Jeg er ikke helt med! Man omdøber jo med "29/10-2003 00:09:01" til Imgxxxxx.jpg. Nu når vi har fået de "gamle" billeder på plads, så skal de nye billeder også hedde DSCxxxxx.jpg.
Først skal finde finde de højeste nummer fra de "gamle" billeder, så rækkefølgen fortsættes. Derefter skal billederne omdøbes! Hvordan gør jeg det?
Jeg har en mappe som hedder "billeder" til mine "gamle" billeder. Jeg har en mappe som hedder "kamera" til de nye billeder.
Du skal lave om på scriptet fra "29/10-2003 00:09:01".
Først finder det den IMGxxxxx.jpg fil der har det højeste nummer, dette skal laves om så den finder den DSCxxxxx.jpg fil der har det højeste nummer.
Derefter omdøber det alle DSCxxxxx.jpg til IMGxxxxx.jpg, hvor den starter fra det nummer den fandt under punkt 1. Dette skal laves om så den flytter filerne fra kameraet OG giver dem et nyt nummer.
Okay. Nu har jeg oprettet scriptet fra "29/10-2003 00:09:01" og lagt det i mappen kamera. Hvad gør jeg nu?
Da rækkefølgen skal fortsættes fra de "gamle" billeder, skal de nye fra kameraet navngives derfra. F.eks. det højeste nummer fra de "gamle" billeder er DSC00512.jpg skal de nye billeder fra kameraet navngives fra DSC00513.jpg og op efter.
Har du prøvet at ændre det som beskrivet i "19/11-2003 19:41:17"?
Jeg kan godt lave det, men jeg tror at du kan det meste af det selv. Prøv at ændre scriptet, hvis der opstår problemer, så post det du har lavet, så vil jeg prøve at hjælpe.
Har du læst det jeg skrev "20/11-2003 16:17:31"? Jeg kan ikke lige se, hvad jeg skal rette, så det er nok bedst hvis du gør det. Det vil være en meget stor hjælp!
Her er lidt pseudo-sprog. Jeg har stødt lidt ind i nogle problemer (se *ved ikke*).
Visning fra kommandoen SETLOCAL indstiller værdien af ERRORLEVEL
Sæt DestPrefix=Img Sæt SrcPrefix=DSC Sæt First=0
for /F (Analysere outputtet fra en kommando) "tokens=*" (tokens angiver, hvilke tokens fra hver linje der skal overgives til For-indholdet for hver gentagelse) %%I in (variabel i) ('dir /S/B %DestPrefix%?????.jpg 2^>1') (dir/viser filer i den angivne mappe og alle undermapper/Bruger enkelt format Indsætter variablen Img5ukendtetegn.jpg *ved ikke*) do call :FindLargest "%%I" (så kald :Findlargest variablen "%%I") set /A (sæt udtryk) First+=1 (ligger en til First) echo First: %First% (viser First: variablen)
for /F (Analysere outputtet fra en kommando) "tokens=*" (tokens angiver, hvilke tokens fra hver linje der skal overgives til For-indholdet for hver gentagelse) %%I in (variabel i) ('dir /S/B %SrcPrefix?????.jpg 2^>1') (dir/viser filer i den angivne mappe og alle undermapper/Bruger enkelt format/Viser filer i sorteret rækkefølge som er dato/tid (ældste først) Indsætter variablen DSC5ukendtetegn.jpg *ved ikke*) do call :ChangeName "%%I" (så kald :ChangeName variablen "%%I") endlocal (ændre til standardindstillinger af SETLOCAL) goto :eof (gå til sidst af filen)
:FindLargest Set Number=%~n1 (sætter Number lig med *ved ikke*) Set Number=%Number:~3,5% (sætter Number lig med variablen Number *ved ikke*) if[%Number:~0,1%]==[0] set Number=%Number:~1% (hvis variablen %Number *ved ikke* lig med 0 sæt Number lig med variablen Number start med tegn 2) if[%Number:~0,1%]==[0] set Number=%Number:~1% (hvis variablen %Number *ved ikke* lig med 0 sæt Number lig med variablen Number start med tegn 2) if[%Number:~0,1%]==[0] set Number=%Number:~1% (hvis variablen %Number *ved ikke* lig med 0 sæt Number lig med variablen Number start med tegn 2) if[%Number:~0,1%]==[0] set Number=%Number:~1% (hvis variablen %Number *ved ikke* lig med 0 sæt Number lig med variablen Number start med tegn 2) if %Number% GTR %First% set/A First=%Number% (hvis variablen %Number% er større end variablen %First% så sæt First lig med variablen %Number%) goto :eof (gå til sidst af filen)
:ChangeName set New00000%First% (sætter New lig med New00000 plus variablen %First%) set New=%New:~5% (sætter Nem lig med variablen %New *ved ikke*) Move %1 "%~dp1%Destprefix%%New%.jpg" (flytter den første variabel "*ved ikke* Img plus variablen &New.jpg") set /A (sæt udtryk) First+=1 (ligger en til First)
1: Jeg tror lige du skal læse om setlocal/endlocal igen.
2: tokens=* betyder alle tokens, og bruges i dette tilfælde for at undgå at for-løkken splitter filnavnet op, hvis det indeholder mellemrum.
3: Kommandoer kan lave to slags output; "stdout" og "stderr". Den første har nummer 1, den anden har nummer 2. Hvis man skriver 'dir *' udskrives normal text til stdout/1, men hvis der ikke er nogen filer anser dir det for at være en fejl og vil udskrive "File Not Found" til 2/stderr. Når man skriver 'dir >log.txt' betyder det at stdout bliver puttet i log.txt, skriver man 2>dir.txt betyder det at stderr bliver puttet i log.txt, hvis man vil have begge dele i samme fil skriver man 'dir >log.txt 2>&1'. Bruger man dir >nul sendes outputtet fra dir kommandoen ud i "the big void". I dir kommandoerne i scriptet er vi ikke interesseret i fejlbeskederne, så dem sender vi til nul. Da det står inden for en kommando til en for-løkke er vi nødt til at bruge "2^>nul" for at undgå at kommandofortolkeren forsøger at være smart med vores ">" (^ er en "escape" karakter der betyder at den næste karakter skal tages bogstaveligt). Der er indsneget sig en fejl i scriptet, der står "2^>1" der skulle stå "2^>nul", ellers vil den putte fejlbeskeder i en fil kaldet 1.
4: Hvis du læser om call kommandoen kan du se at %~n1 betyder filnavnet på %1 uden path eller extension. Dvs c:\whatever\dsc00001.jpg bliver til dsc00001.
5: Fra set kommandoen kan du se at %Number:~3,5% betyder; tag de 5 karakterer der starter fra den 3. position af %Number%. Så hvis %Number% er DSC12345 så er %Number:~3,5% 12345
6: Når man regner med set /A kommandoen kan man angive tal som: A: decimal tal, dvs. normale base 10 tal B: hex, dvs. base 16, disse skrives som 0x1234 C: octal, dvs. base 8, disse skrives som 0123
Hvis man skriver "set /A 0x1234" i en kommando-prompt kan man se at det er 4660, og "set /A 01234" giver 668.
Hvis en fil hedder DSC00123 vil vi have fat i tallet 123 decimalt, så vi er nødt til at fjerne de forreste 0'er (ellers vil den tro at det er 0123 octalt).
%Number:~0,1% er det første tegn i %Number%, %Number:~1% er alt i %Number% undtagen det første tegn, så linien: if [%Number:~0,1%]==[0] set Number=%Number:~1% checker om første tegn er et 0, hvis det er det så fjernes det.
7: I ChangeName skal vi have lavet et tal ud fra %First% på fem cifre, hvor de første cifre er 0 hvis %First% er på mindre en 5 cifre. Det gøres i to trin: A: Sæt fem 0'er ind forest (set New=00000%First%) B: Vælg de sidste fem cifre (set New=%New:~-5%)
8: Fra studiet af call kommandoen ved vi at %~dp1 betyder drev+path for %1, så hvis %1 er c:\kamera\kkk012345.jpg, så er %~dp1 c:\kamera\ Derved ser vi at "%~dp1%DestPrefix%%New%.jpg" betyder: Drev+Path for %1 + %DestPrefix% + Det tal vi lavede i 7: + .jpg
9: Move flytter i dette tilfælde fil. Det er den kommando der udfører det endelige arbejde.
10: goto :eof betyder ganske rigtigt "gå til sidst af filen", men det er nok lettere at tænke på det som "returner fra funktion"/"afslut funktion"/"afslut script".
Ud fra dette kan/bør du lave en beskrivelse der på mere normalt dansk forklarer hvad scriptet gør, man kunne f.ex. beskrive funktionen :FindLargest som:
Sæt Number til at være filnavnet af parameteren/filnavnet Sæt Number til at være karakter 3-8 af %Number% Fjern eventuelle initielle 0'er i %Number% Hvis %Number% er større end %First% så sæt First til at være %Number%
Når du har denne beskrivelse på plads kan du lave en tilsvarende for det du vil have lavet. Du burde så kunne se hvad der skal ændres i scriptet for at det gør det du vil.
Jeg har lige printet din gennemgang ud og har lige tænkt mig, at læse den et par gange for at få fat i det sidste.
Jeg skal nok prøve at lave en beskrivelse på normalt dansk som forklare, hvad scriptet gør og hvad jeg vil havde det til at gøre.
Jeg vil bare lige være 100 % sikkert på, når jeg har ændret scriptet at jeg kan få det til dette:
"Da rækkefølgen skal fortsættes fra de "gamle" billeder, skal de nye fra kameraet navngives derfra. F.eks. det højeste nummer fra de "gamle" billeder er DSC00512.jpg skal de nye billeder fra kameraet navngives fra DSC00513.jpg og op efter."
Her tænker jeg på, at de "gamle" billeder jeg har liggende i mapper, kun bliver kørt igennem for at finde det højeste nummer (de skal jo ikke navngives, da de har fået et rigtigt navn). Hvis den ligger sammen med de "gamle" billeder, tager den jo kamera mappen med (det skal den jo ikke). Hvor skal min kamera mappe ligge? Eller kan man få scriptet til at lede efter det højeste nummer i alle mapper undtagen mappen kamera?
De nye billeder bliver vel navngivet DSC (og ikke img)?
Scriptet checker pt. alle IMGxxxxx.jpg filer og finder det højeste nummer. Det skal laves om, så det finder det højeste nummer for DSCxxxxx.jpg filer.
Jeg forstiller mig at du derefter bruger dette nummer til at navngive filerne når du flytter dem fra kameraet OG omdøber dem. De kan stadig hedde DSCxxxxx.jpg, men de får et nyt nummer. På den måde behøver vi ikke tage speciel hensyn til kamera mappen.
Jeg har fundet ud af, hvordan jeg finder det højeste nummer:
@echo off setlocal
set DestPrefix=DSC set First=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>nul') do call :FindLargest "%%I" set /A First+=1 echo First: %First% pause
:FindLargest set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %First% set /A First=%Number% goto :eof
Med det kan jeg omdøbe billederne med scriptet fra "25/10-2003 17:07:43".
Okay, det virker fint med at først at finde det højeste nummer og så derefter omdøbe dem.
Nu skal vi bare få scriptet fra "29/10-2003 00:09:01" til at gøre det samme. Jeg forstår stadigvæk ikke, hvor min mappe kamera skal/må ligge. Nu har jeg jo alle mine billeder liggende i mappen billeder, må mappe kamera også ligge der? Kommer scriptet ikke til at tælle de filer, som ligger i mappen kamera med?
Eller kan man lave en undtagelse, så scriptet finder det højeste nummer i undermapperne til mappen billeder med undtagelse af mappen kamera?
Hvad skal jeg nu? Skal jeg lave en beskrivelse af, hvordan det nye script skal gøre/se ud?
Du kan godt lave det så den springer filer i kamera mappen over. Tilføj følgende til starten af FindLargest funktionen:
echo %1 |find "kamera" >nul if not errorlevel 1 echo skipping: %1& goto :eof
Det der sker her er at vi sætter kommandoen/programmet find til at lede efter kamera i filnavnet, hvis den ikke finder det sætter den errorlevel til 1. I næste linie checkes der så om errorlevel er 1, hvis ikke skippes filen.
Husk at sætte en goto :eof ind inden :FindLarget labelen.
Ja, det ville nok være en god ide at lave en beskrivelse af det du vil have lavet i pseudo-sprog.
Nu skulle den del af scriptet være på plads. Jeg laver lige en beskrivelse her en af dagene.
@echo off setlocal
set DestPrefix=DSC set First=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>nul') do call :FindLargest "%%I" set /A First+=1 ClS echo First: %First% goto :eof
:FindLargest echo %1 |find "kamera" >nul if not errorlevel 1 echo skipping: %1& goto :eof set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %First% set /A First=%Number% goto :eof
Jeg tror dette virker, men kigger lige igen på det i morgen.
setlocal
set DestPrefix=DSC set First=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>nul') do call :FindLargest "%%I" set /A First+=1 echo First: %First% goto :Start
:FindLargest echo %1 |find "kamera" >nul if not errorlevel 1 echo skipping: %1& goto :eof set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %First% set /A First=%Number% goto :eof
:Start set Start=%First for /F "tokens=*" %%I in ('dir /S /B /OD *.jpg') do call :process "%%I" "%%~dpI" goto :eof
:Process set Current=00000%Start% set Current=%Current:~-5% move %1 "%~2DSC%Current%.jpg" set /A Start=%Start%+1
Okay. Der er også en anden fejl. Scriptet skal jo give billeder nummer efter det højeste nummer i de andre mapper, men når jeg kører scriptet bliver billederne i kamera-mappen større og større (og de andre mapper).
Det er jo kun billederne i kamera-mappen som skal omdøbes, så scriptet skal rettes så det gør det.
Nu ser det ud til at virke :-). Scriptet skriver i stil med "skipping z:\whatever\kamera". Hvad skal jeg kalde labelen i stedet for start?
@echo off setlocal
set DestPrefix=DSC set First=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>nul') do call :FindLargest "%%I" set /A First+=1 echo First: %First% goto :Start
:FindLargest echo %1 |find "kamera" >nul if not errorlevel 1 echo skipping: %1& goto :eof set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %First% set /A First=%Number% goto :eof
:Start set Start=%First% for /F "tokens=*" %%I in ('dir /S /B /OD E:\Dokumenter\Billeder\kamera\*.jpg') do call :process "%%I" "%%~dpI" goto :eof
:Process set Current=00000%Start% set Current=%Current:~-5% move %1 "%~2DSC%Current%.jpg" set /A Start=%Start%+1
:Start looper over alle .jpg billeder i mappen, så man kunne kalde den :ProcessFolder og så omdøbe :Process til :ProcessFile
Det er måske heller ikke logisk at tælleren Start hedder Start, man kunne kalde den NextNumber. First kunne af samme grund hedde MaxNumber
Hvis jeg kun har en eller to labels i et script plejer jeg at kalde dem :Process eller DoIt, men når man har flere labels er det vigtigt at give dem beskrivende navne.
Sådan? Er der nogen forskel på, om man bruger move eller ren til at omdøbe filer?
@echo off setlocal
set DestPrefix=DSC set MaxNumber=0
for /F "tokens=*" %%I in ('dir /S /B %DestPrefix%?????.jpg 2^>nul') do call :FindLargest "%%I" set /A First+=1 echo MaxNumber: %MaxNumber% goto :ProcessFolder
:FindLargest echo %1 |find "kamera" >nul if not errorlevel 1 echo skipping: %1& goto :eof set Number=%~n1 set Number=%Number:~3,5% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if [%Number:~0,1%]==[0] set Number=%Number:~1% if %Number% GTR %MaxNumber% set /A MaxNumber=%Number% goto :eof
:ProcessFolder set NextNumber=%MaxNumber% for /F "tokens=*" %%I in ('dir /S /B /OD E:\Dokumenter\Billeder\kamera\*.jpg') do call :ProcessFile "%%I" "%%~dpI" goto :eof
:ProcessFile set Current=00000%NextNumber% set Current=%Current:~-5% move %1 "%~2DSC%Current%.jpg" set /A NextNumber=%NextNumber%+1
Jeg har nogle billeder, hvor jeg har to af hver slags. Jeg bruger checkdup til at sortere i disse billeder. Programmet skriver "deliting", men sletter ikke filen.
Det er den version der ikke skal bruge en list fil, du kører den blot med:
checkdup [-s] [-a] [*.jpg]
-s bruges for at checke undermapper. -a bruges hvis du vil spørges inden den sletter. Du kan angive hvilke ekstensions der skal checkes, default er alt (*.*)
Hvis den fejler skriver den noget i stil med: Same: D:\Program\nph12\ÆÆØØÅÅ.ææøøåå D:\Program\nph12\æ-å, deliting D:\Program\nph12\æ-å Failed to delete D:\Program\nph12\æ-å Status: Read-Only, 8100
Ja, det tyder jo på at "E:\Dokumenter\Billeder\Billeder fra Allan\DSC00307.JPG" er Read-Only. Programmet kan ikke slette disse, så du bliver nødt til at fjerne Read-only attributten med attrib kommandoen (attrib -R /S).
Jeg undersøger lige om jeg kan få programmet til at slette Read-only filer.
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.