Avatar billede daki Juniormester
04. september 2006 - 09:07 Der er 6 kommentarer og
1 løsning

redigere i txt-fil

Jeg skal bruge en kode, så jeg kan rette 1. linie i en *.txt.
Linien ser sådan ud:
Prisbogen er opdateret pr. dd-mm-åååå.

Jeg vil gerne, når jeg starter en *.bat at dd-mm-åååå sættes til dags dato.
Avatar billede bertelbrander Novice
04. september 2006 - 22:55 #1
Det burde kunne klares med noget så simpelt som nedenstående.
Det forudsætter at teksten "Prisbogen er opdateret pr" kun optræder i første linie.
Jeg har testet på en dansk WinXP Home, der kan være små forskelle mellem windows versioner.
Du putter koden i en .bat-fil, og angiver navnet på .txt filen som argument når du kører det.
Du bør køre nogle tests på filer med backup inden du slipper det løs på de endelige filer.

@echo off
if [%1]==[] (
  echo Du skal angive et filnavn
  goto :eof
)
echo Prisbogen er opdateret pr. %Date%>tempfile.txt
findstr /V /C:"Prisbogen er opdateret pr." %1>>tempfile.txt

move /Y tempfile.txt %1
Avatar billede daki Juniormester
05. september 2006 - 08:41 #2
Den ændre godt nok datoen, men den sletter alle de andre linier i filen.
Og .bat-filen stopper bare, så resten ikke kan udføres.
ligger lige eks. på begge.

---- kopier.bat ----
@echo off
echo Prisbogen er opdateret pr. %date%>readme.txt
findstr /V /C:"Prisbogen er opdateret pr." %1>>readme.txt
move /Y readme.txt %1
xcopy I:\Internet\web\prisbog\*.csv C:\Dokumenter\prisbog /y
xcopy I:\Internet\web\prisbog\*.dat  C:\Dokumenter\prisbog /y
pause
C:\Programmer\uzcl1\uzcomp -a readme.zip "c:\Dokumenter\prisbog\readme.txt
C:\Programmer\uzcl1\uzcomp -a prisbog1.zip "c:\Dokumenter\prisbog\varpost.dat
C:\Programmer\uzcl1\uzcomp -a prisbog2.zip "c:\Dokumenter\prisbog\varpost.csv
pause
del C:\Dokumenter\prisbog\prisbog1.dat
del C:\Dokumenter\prisbog\prisbog2.csv
ren C:\Dokumenter\prisbog\varpost.dat prisbog1.dat
ren C:\Dokumenter\prisbog\varpost.csv prisbog2.csv
xcopy C:\Dokumenter\prisbog\*.* w:\ /u /y
pause
---- kopier.bat ----

---- readme.txt ----
Prisbogen er opdateret pr. 05-09-2006.
**************************************


For at kunne åbne filerne prisbog1.zip eller prisbog2.zip, skal programmet "winzip" bruges.


For at gemme prisbogen som dat-format:
HøjreKlik på prisbog1.dat - vælg "gem distination som"... og filen kan nu gemmes på din computer.
---- Husk at gemme filen som varpost.dat ----
Klik på prisbog1.zip - vælg "gem" og filen overføres til din computer.

For at gemme prisbogen som csv-format:
HøjreKlik på prisbog2.dat - vælg "gem distination som"... og filen kan nu gemmes på din computer.
---- Husk at gemme filen som varpost.csv ----
Klik på prisbog2.zip - vælg "gem" og filen overføres til din computer.
---- readme.txt ----

Jeg benytter XP prof.
Avatar billede bertelbrander Novice
05. september 2006 - 19:44 #3
I linierne:
echo Prisbogen er opdateret pr. %date%>readme.txt
findstr /V /C:"Prisbogen er opdateret pr." %1>>readme.txt
move /Y readme.txt %1

Skal readme.txt laves om til noget andet. Det er navnet på en midlertidig fil som i sidste linie bliver lavet om til den rigtige fil, i dit tilfælde readme.txt. I mit eksempel brugte jeg navnet tempfile.txt
Avatar billede daki Juniormester
06. september 2006 - 08:42 #4
ændrede linierne til
echo Prisbogen er opdateret pr. %date%>nydato.txt
findstr /V /C:"Prisbogen er opdateret pr." readme.txt>>nydato.txt
move /Y nydato.txt readme.txt

Så nu virker det bare perfekt, tak for hjælpen.
Læg et svar så points kan uddeles.
Avatar billede daki Juniormester
26. september 2006 - 09:46 #5
Ingen points, eller?
Avatar billede bertelbrander Novice
26. september 2006 - 22:34 #6
Jeg samler ikke på point, så accepter du bare dit eget svar.
Avatar billede daki Juniormester
04. oktober 2006 - 10:54 #7
TAK.
Må hellere lukke spm.
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