Avatar billede samsayit Nybegynder
30. oktober 2002 - 19:25 Der er 5 kommentarer og
2 løsninger

Batch-program: Ændre i en tekstfil ???

Kan man kontsruere en .bat fil, der gennemløber en tekstfil, og indsætter en (forud-)bestemt tegnrække forest i alle linier?
Avatar billede arne_v Ekspert
30. oktober 2002 - 19:31 #1
Nej.

Det mener jeg ikke at BAT-filer kan.

Du må finde er andet sprog.

GAWK, Perl, whatever your prefer.
Avatar billede samsayit Nybegynder
30. oktober 2002 - 19:34 #2
man kan jo påsætte linier i en textfil / oprette en textfil med batch, noget ala:

echo Hej> textfil
echo med dig>> textfil

... så må det vel også være muligt at inserte eller sådan noget...
30. oktober 2002 - 19:36 #3
Ja men ikke forrest i alle linier. Det kan ikke lade sig gøre med BATCH
Avatar billede kaz911 Nybegynder
30. oktober 2002 - 19:38 #4
ja - men så skal du hente ekstra værktøjer som fx. grep til dos.

hmm - måske kan du bruge for (in) commando. Jeg kan ikke huske syntax. Men prøv for /help på kommandopromt. (Det er noget versions afhænigt. Hvis du har W2K/XP er der command extensions som giver dig mulighed for at lave fx.

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k"

så man kan da lidt.. ;-)

mvh

Kasper
Avatar billede netspec Nybegynder
30. oktober 2002 - 21:32 #5
Hej Samsayit

Skal du bruge denne funktion i.f.m. med en .bat fil, eller er det bare fordi du mangler dette i det daglige? Hvis det er fordi du mangler det i det daglige, så er der et lille nyttigt freeware program som du kan downloade her: http://www.mortenlassen.dk/window.asp?show=software&download=8 (der er godt nok en nag screen, men den kan fjernes ved blot at sende programmøren en mail (han vil gerne se hvor mange der bruger hans program)).
Avatar billede samsayit Nybegynder
30. oktober 2002 - 22:02 #6
>> Netspec >> Det er faktisk noget i den stil. Jeg copy-paster indimellem en række links i en txt fil, men der skal indsættes noget tekst før alle linksne - og dette ville jeg egentlig bare have automatiseret, således at jeg bare kan køre den bat fil, og det dermed er gjort...
Men den "clipper" du linker til, må vel kunne gøre det, når det ikke kan være anderledes.....
Avatar billede samsayit Nybegynder
04. november 2002 - 13:30 #7
Jeg har selv fundet løsningen, det KUNNE lade sig gøre!

Eksempel: Filen jeg fil ændre i hedder file.txt, og jeg vil indsætte "Hello" foran hver linie.

Batch-filen skal se sådan her ud:

type file.txt> %temp%.\T1.DAT
type nul> file.txt
for /F "tokens=*" %%I in (%temp%.\T1.DAT) do echo Hello %%I>> file.txt
del %temp%.\T1.DAT
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