URL: https://www.overclockers.at/coding-stuff/bat_datei_mal_was_leichtes_112164/page_1 - zur Vollversion wechseln!
hm i brauch a bat datei die mir eine
*.hn datei in *.h umbennent (des geht mit ren usw des weiss i eh)
und die dabei gleich aus der datei nur die erstn ca 10 sätze durchsucht und den satz löscht wo drinnen steht:
M0
und an andern satz wo drinnen steht ToolDef
wie geht das?
wisst was i mein?
danke!
umbenennen geht mit ren *.hn *.h, aber was ist für dich ein "satz" ?
zum glück gibts ja grep und tail auch für w32console/dos.
naja
du musst dir das so vorstelln wie wenn hn ein txt datei wär mit ganz normalen sätzen
un di will einfach das die M0 und tooldef sätze (jednfalls die erstn die vorkommen) gelöscht werdn)
Also rein nur mit den Befehlen die Dir unter DOS für Batch-Files zur Verfügung stehen wirst da Probleme kriegen.
Ich bin mir nicht sicher ob's für DOS überhaupt so intelligente Programme gibt, die aus Dateien Phrasen rauslöschen die bestimmte Worte beinhalten. Da mußt Dir vermutlich schon selber was programmieren (zB unter Turbo Pascal und dann als .exe kompilieren ).
sorry falscher nick
normahl: kann i ned
naja bat wär halt genial weil is dann ganz einfach ändern kann
vl kann mas ja wer machn? auch andre sprachn erwünscht
atrox hat doch eh schon die antowort gegeben: grep, halt für w32... http://www.google.com/search?q=grep...-8&oe=utf-8
ich könnts dir in perl schreiben wenn du willst
wär nett
i komm mit grep ned zamm
meld mi im icq
EDIT:
und weider mal hast meinen nick dawischt
oba is eh gaunz interessant
mit "find" ist ab w2k auch ein halbwegs brauchbarer grep ersatz als boardmittel dabei.
ok ich code einmal
Code:#!/usr/bin/perl -w use strict; # <- init my $FileName = $ARGV[0]; my $line; my @FilePatched; # read file | fetch into array open (READ, "<$FileName") or die "Cant open $FileName (read) -> F0001: $!\n"; foreach $line (<READ>) { if ($line =~ /M0|ToolDef/) { next; } push (@FilePatched,$line); } close (READ); # write file | rename open (WRITE,">$FileName") or die "Cant open $FileName (write) -> F0002: $!\n"; print WRITE (@FilePatched); close (WRITE);
i glaub perl is für erm a weng a grosser aufwand, wie schaut sowas mit einfacher dosshell? QBasic aus?
bitte? der braucht das einfach über die commandline aufrufen ...
mit einer bat datei ist das, meines wissens, nicht möglich.
es gibt zwar eine findstr funktion http://www.winnetmag.com/Article/Ar...3447/13447.html aber die replaced nix ...
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025