Avatar billede foralias Praktikant
05. august 2004 - 08:27 Der er 11 kommentarer og
1 løsning

Implementere dato i filnavne

Jeg har nogle filer liggende i d:\ind mappen. Disse vil jeg dagligt, vil bat-fil, kopiere til d:\ind-backup dog vil jeg gerne have dato'en hvor de er blevet kopieret, med i filnavnet eks. 05-08-2004-filnavn.txt.
Kan det lade sig gøre?
Avatar billede foralias Praktikant
05. august 2004 - 08:28 #1
"vil bat-fil" skulle være "via bat-fil"
Avatar billede serverservice Praktikant
05. august 2004 - 11:35 #2
er det ikke nemmest at bruge windows backup?
Avatar billede foralias Praktikant
05. august 2004 - 14:06 #3
Det ved jeg faktisk ikke. Min plan var at køre det hele fra et par bat filer.
Avatar billede bertelbrander Novice
05. august 2004 - 19:45 #4
Følgende ene linie i en .bat fil burde løse problemet.

for /F "delims=;" %%I in ('dir /B d:\ind\*') do @copy "D:\ind\%%I" "D:\ind-backup\%%~nI%date%%%~xI"

Hvis du vil have et andet format på dato'en finder vi nok også ud af det.
Avatar billede foralias Praktikant
05. august 2004 - 21:57 #5
Takker det prøver jeg, tør man spørge om hvad de forskellige %-tegn står for?
Avatar billede bertelbrander Novice
05. august 2004 - 22:36 #6
%date% betyder dags dato, på Win2000 er det sansynligvis formatet: on 05-08-2004
%%I er for-løkkens variabel, %%~nI er filnavnet uden sti og extension for %%I, og %%~xI er extension.
Egentlig er variablen %I, den extra % er der til ære for kommando fortolkeren, hvis du kører kommandoen direkte fra kommando-linien skal du bruge %I isf %%I

Du kan lære mere om disse ved at åbne en kommando prompt og skrive: help for
Avatar billede bertelbrander Novice
05. august 2004 - 22:38 #7
Jeg opdagede lige at du vil have dato'en foran filnavnet og ikke efter, så bør du bruge:

for /F "delims=;" %%I in ('dir /B d:\ind\*') do @copy "D:\ind\%%I" "D:\ind-backup\%Date%%%I"
Avatar billede foralias Praktikant
16. august 2004 - 13:04 #8
bertel -> kan jeg få tids angivelsen med også? altså 04-08-2004-12:00-filnavn.txt?
Avatar billede bertelbrander Novice
16. august 2004 - 19:10 #9
Jo det er let. %Time% er tiden, så du tilføjer den blot, den sidste vil så komme til a se sådan ud:

for /F "delims=;" %%I in ('dir /B d:\ind\*') do @copy "D:\ind\%%I" "D:\ind-backup\%Date%-%Time%-%%I"

Det giver dog (på xp) 19:11:46,17, men det kan laves om.
Avatar billede foralias Praktikant
17. august 2004 - 22:25 #10
Tusind tak.
Smid venligst et svar.
Avatar billede bertelbrander Novice
17. august 2004 - 22:47 #11
Jeg forsøger at undgå point.
Avatar billede foralias Praktikant
24. august 2004 - 14:46 #12
Jamen så takker jeg for hjælpen.
Og lukker
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