Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Batch & Shell

GELÖST

Trennzeile für Logdateien in Batch automatisieren

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

04.01.2012, aktualisiert 18.10.2012, 2813 Aufrufe, 10 Kommentare

Ich habe ein Batch welches mit Trennlinien in Logdateien macht.

Ich habe eine Batchdatei die Trennzeilen in Logdateien für mich schreibt.
Dazu übergebe ich dem Batch als %1 den Namen des Logfiles und als Parameter %2 eine Zahl (60, 70 oder 80)

01.
@echo off 
02.
 
03.
if %1!==! goto end 
04.
if %2!==! echo  -------------------------------------------------->>%1&goto end 
05.
if %2==60 echo  ------------------------------------------------------------>>%1&goto end 
06.
if %2==70 echo  ---------------------------------------------------------------------->>%1&goto end 
07.
if %2==80 echo  -------------------------------------------------------------------------------->>%1&goto end 
08.
if not %2!==! echo  ---------------------------------------------------------------------------------------------------->>%1&goto end 
09.
goto end 
10.
 
11.
:end
Nun wär es nett wenn ich das Ganze etwas eleganter machen könnte.
Zum Beispiel dass dieses Batch eine beliebige Anzahl von "-" an die Datei "%1" übergibt.

Leider komm ich mit diesem Schleifenfunktionen noch nicht so ganz klar ;-(
Hat jemand einen Tipp für mich?
Mitglied: bastla
04.01.2012 um 18:00 Uhr
Hallo pbelcl! (Von Begrüßungen hältst Du offensichtlich weiterhin nix ... )

Wenn Du eine Variable mit der nötigen Anzahl an Zeichen erzeugst, kannst Du die gewünschte Anzahl danach unter Verwendung eines Teilstrings ausgeben, also etwa:
01.
@echo off & setlocal 
02.
if %1!==! goto end 
03.
if %2!==! echo  -------------------------------------------------->>%1& goto end 
04.
set "Trenn=----------------------------------------------------------------------------------------------------" 
05.
call echo %%Trenn:~,%2%%>>%1 
06.
:end
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
05.01.2012 um 18:55 Uhr
Habs ausprobiert, funktioniert super!!

Zitat von bastla:
set "Trenn=----------------------------------------------------------------------------------------------------"

Und die maximal mögliche Zeichenzahl ergibt sich aus der Anzahl der Zeichen in "trenn", soweit richtig?

Danke und liebe Grüße
Paul
Bitte warten ..
Mitglied: bastla
05.01.2012 um 19:21 Uhr
Hallo pbelcl!
Und die maximal mögliche Zeichenzahl ergibt sich aus der Anzahl der Zeichen in "trenn", soweit richtig?
Ja; alternativ ließe sich die Trennzeile auch "maßgeschneidert" mit
01.
for /L %%i in (1,1,%2) do set /p=-<nul>>%1 
02.
>>%1 echo\
erzeugen ...

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
06.01.2012 um 12:23 Uhr
Hi,

Danke für diese Version, gefällt mir besser

Ich mag dich nicht nerven, aber würde es gern zumindest ansatzweise verstehen :

01.
for /L %%i in (1,1,%2) do set /p=-<nul>>%1
Wozu ist das "<nul" eigentlich da?
Der Code macht bei mit im Test immer ein Leerzeichen nach einem Bindestrich !?
liegt das vielleicht daran?

01.
 >>%1 echo\
Ist für ein CR-LF am Ende richtig??
Bitte warten ..
Mitglied: bastla
06.01.2012, aktualisiert 18.10.2012
Hallo pbelcl!
Wozu ist das "<nul" eigentlich da?
Schau Dir mal dieses Tutorial an ...
Da in der Schleife die Bindstriche ohne Zeilenschaltung (und ganz ohne Leerzeichen - mit der eben von Dir nochmals geposteten Codezeile getestet) geschrieben werden, wird tatsächlich am Ende noch eine Zeilenschaltung (mit "echo\" erzeugt) benötigt ...

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
06.01.2012 um 15:55 Uhr
Super, danke für den Link.
Da werd ich gleich reinschauen!!

Das mit den Leerzeichen werd ich mir nochmal ansehen, denn es passiert nur manchmal, sehr seltsam.
Ist mir aber egal, denn eine Trennzeile sieht auch mit Leerzeichen ganz nett aus

Danke nochmal für deine Hilfe!
Bitte warten ..
Mitglied: pbelcl
09.01.2012, aktualisiert 18.10.2012
Zitat von bastla:
Schau Dir mal dieses Tutorial an ...
Hab mir das Tutorial mal genau durchgelesen.
Nun weiß ich auch wieso der Code:
01.
for /L %%i in (1,1,%2) do set/p=-<nul>>%1  
02.
>>%1 echo\
Immer nach jedem "-" ein Leerzeichen macht. Im Tutorial steht dass soetwas in Schaltjahren angeblich passiert!
Wenn das kein Scherz ist, dann ist die Ursache bereits lokalisiert.

Drängt sich nur die Frage auf, WAS diese (Fehl)Funktion mit einem Schaltjahr zu tun hat ....
Irgendeine Ahnung ??
Bitte warten ..
Mitglied: bastla
09.01.2012, aktualisiert 01.05.2014
Hallo pbelcl!

Tun wir mal so, als wäre die Frage
WAS diese (Fehl)Funktion mit einem Schaltjahr zu tun hat ....
ernst gemeint:

Da im Schnitt weniger als 25 % aller Jahre Schaltjahre sind, wollte Ren damit nur sagen: "Kommt nicht sehr oft vor" ...

Eine Begründung, warum es die genannte Fehlfunktion überhaupt gibt, habe ich allerdings nicht anzubieten.

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
09.01.2012 um 17:42 Uhr
Alles klar, dann werd ich bis 2013 warten und inzwischen den Code aus deinem ersten Posting verwenden
Bitte warten ..
Mitglied: Biber
09.01.2012 um 18:29 Uhr
....und weil sich doch jeder montags über gute Nachrichten freut....
Zitat von pbelcl:
Alles klar, dann werd ich bis 2013 warten und inzwischen den Code aus deinem ersten Posting verwenden
Laut dem Kalender der Maya haben wir diese merkwürdigen Schaltjahre erstmal hinter uns gebracht.
Mit irgendwelchem Unbill deswegen brauchen wir auf Sicht nicht mehr rechnen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Windows 7
Kopiervorgang Logdatei
Frage von Riddler123Windows 71 Kommentar

Hi, hab ne NAS Festplatte und wollte wissen ob ich auf meinem Windows 7 Laptop nach dem Kopieren von ...

Batch & Shell
Image - Convert Befehle mittels Batch automatisieren
gelöst Frage von MortariusBatch & Shell4 Kommentare

Moin, ich würde gern folgendes über meine Batch lösen. Ein Bild soll aus dem Verzeichnis mittels ImageMagick automatisch auf ...

Batch & Shell
Filezilla automatisieren
Frage von 132351Batch & Shell13 Kommentare

Hallo Hat es schon jemand geschafft Filezilla zu automatisieren? Die Verbindung zum FTP kann ich per Batch herstellen. Was ...

Batch & Shell
Logdateien bereinigen mit sed
gelöst Frage von cuilsterBatch & Shell12 Kommentare

Hallo. Ich versuche log Dateien mittels sed Befehl zu bereinigen. Ziel ist es erstmal alle Zeilen zu löschen in ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 40 MinutenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 18 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 19 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 20 StundenSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...