Avatar billede Slettet bruger
30. januar 2005 - 08:03 Der er 16 kommentarer og
1 løsning

bat-filer, copy med dato?

Hejsa

Jeg vil gerne lave en bat fil, der stopper en dato med ind i navnet på filen den kopier.

fx.:
gammel fil navn: test.txt
nyt fil navn: datofil30012005.txt

copy test.txt datofil(mdr+dato+aar).txt ??
Avatar billede jakobdo Ekspert
30. januar 2005 - 10:44 #1
Jeg tror desværre ikke det er muligt!
Du skal nok kode det i noget andet...
Tror vbs vil være det letteste!
Avatar billede jakobdo Ekspert
30. januar 2005 - 10:50 #2
Måske dette kan gøre det:

<%
dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\sourcefolder\test.txt") Then
  filesys.CopyFile "c:\sourcefolder\test.txt", "c:\destfolder\datofil" + Day(Now) + Month(Date) + Year(Now) + ".txt"
End If
%>
Avatar billede Slettet bruger
30. januar 2005 - 11:37 #3
Et stykke tid siden jeg har leget med vbs, men det script skal bare i en fil der hedder .vbs ?
Avatar billede jakobdo Ekspert
30. januar 2005 - 11:41 #4
Skulle jeg mene!
(har altså ikke testet scriptet, så ved ikke om det dur) :o)
Avatar billede Slettet bruger
30. januar 2005 - 11:43 #5
Gider du lige teste det, jeg får nemlig en fejl :oP
Avatar billede plx Nybegynder
30. januar 2005 - 11:49 #6
Du kan prøve med denne, hvis du har Windows 2k/xp

for /f "tokens=*" %%i in ('date /t') do copy "test.txt" "datofil%%i.txt"
Avatar billede jakobdo Ekspert
30. januar 2005 - 12:28 #7
Tada...

Dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\test\test.txt") Then
  filesys.CopyFile "c:\test\test.txt", "c:\test\datofil" + CStr(Day(Now)) + CStr(Month(Now)) + CStr(Year(Now)) + ".txt"
End If
Avatar billede Slettet bruger
30. januar 2005 - 12:34 #8
Den virker ikke hos mig :o(
Script: d:\copy.vbs
Linje: 1
Tegn: 1
Fejl: En sætning car ventet
Kode: 800Ao400
Kilde: Der opstod en Microsoft VBScript-kompileringsfejl
Avatar billede jakobdo Ekspert
30. januar 2005 - 12:38 #9
Hvis du putter:
Dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\test\test.txt") Then
  filesys.CopyFile "c:\test\test.txt", "c:\test\datofil" + CStr(Day(Now)) + CStr(Month(Now)) + CStr(Year(Now)) + ".txt"
End If

Og gemmer som navn.vbs
Virker det så ikke?

Du skal ikke have <% %> med...
Det var min fejl!
Avatar billede Slettet bruger
30. januar 2005 - 12:53 #10
Nååh, så funker den :o)
En lille ting, hvis mdr eller dato er mindre end 10, skriver den ikke 01, 02, 03 osv. kun 1, 2, 3 osv.
Kan du lave det hurtigt? :o)
Avatar billede jakobdo Ekspert
30. januar 2005 - 13:08 #11
Værsgo Master...

Dim filesys,strDay,strMonth,strYear,strDate
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\test\test.txt") Then
    strDay  = CStr(Day(Now))
    strMonth = CStr(Month(Now))
    strYear  = CStr(Year(Now))
   
    If (Len(strDay) = 1) Then
        strDay = "0" + strDay
    End If
   
    If (Len(strMonth) = 1) Then
        strMonth = "0" + strMonth
    End If
   
    If (Len(strYear) = 1) Then
        strYear = "0" + strYear
    End If
   
    strDate = strDay + strMonth + strYear
   
  filesys.CopyFile "c:\test\test.txt", "c:\test\datofil" + strDate + ".txt"
End If
Avatar billede jakobdo Ekspert
30. januar 2005 - 13:09 #12
Lidt kortere:

Dim filesys,strDay,strMonth,strYear,strDate
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("c:\test\test.txt") Then
    strDay  = CStr(Day(Now))
    strMonth = CStr(Month(Now))
    strYear  = CStr(Year(Now))
   
    If (Len(strDay) = 1) Then
        strDay = "0" + strDay
    End If
   
    If (Len(strMonth) = 1) Then
        strMonth = "0" + strMonth
    End If
   
    strDate = strDay + strMonth + strYear
   
  filesys.CopyFile "c:\test\test.txt", "c:\test\datofil" + strDate + ".txt"
End If

(ikke nødvendigt at tjekke YEAR)
Avatar billede Slettet bruger
30. januar 2005 - 13:52 #13
Takker, smider du lige et svar? :o)
Avatar billede jakobdo Ekspert
30. januar 2005 - 13:57 #14
Svar...
Avatar billede bertelbrander Novice
30. januar 2005 - 15:10 #15
Hvis man har Windows NT/2000/XP  kan man godt gøre det i en bat-fil:
copy Norge.doc "Norge%date%.doc"
Avatar billede Slettet bruger
30. januar 2005 - 15:44 #16
tak for tippet.. men jakobdo lavede noget andet der virkede :o)
Avatar billede jakobdo Ekspert
30. januar 2005 - 15:48 #17
Takker!
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
Kurser inden for grundlæggende programmering

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