Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Leerzeilen aus .txt entfernen

Frage Entwicklung Batch & Shell

Mitglied: m-ziemann

m-ziemann (Level 1) - Jetzt verbinden

06.04.2009, aktualisiert 14:00 Uhr, 4880 Aufrufe, 7 Kommentare

Hallo,

ich habe ein Problem mit dem Befehlt "ipconfig" . Ich will den mit ein paar anderen Infos zusammen in ne .txt bringen und danach für die Unterlagen ausdrucken.
Nur gehen mir die Leerzeilen dabei ziemlich gegen den Strich.

Das Ganze sieht ungefähr so aus.

@echo off
echo. | date | find "Aktuell" >>system.txt
echo. | time | find "Aktuell" >>system.txt
graftabl 1252
(systeminfo & ipconfig /all & reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices")>>system.txt
findstr ^.$ system.txt >system2.txt
start /w notepad /p system2.txt
del system.txt
del system2.txt


Andere Leerzeilen lassen sich problemlos entfernen, nur halt die von der ausgabe von ipconfig nicht .

Kann mir da wer helfen ?
Mitglied: bastla
06.04.2009 um 16:53 Uhr
Hallo m-ziemann und willkommen im Forum!

Eigentlich sollte doch
findstr . system.txt>system2.txt
genügen, um die Leerzeilen los zu werden ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
06.04.2009 um 22:11 Uhr
Moin m-ziemann,

nur als Variation, nicht als Alternative zu bastlas Lösung...

An Deiner Lösung empfinde ich aus meiner Erfahrung 2 Details Deines Schnipsels langfristig etwas wartungsunfreundlich bzw von unzureichender spielerischer Leichtigkeit:
  • diese Rumeierei mit zwei Temp-Dateien für eine Outputdatei von ~300 Zeilen... und das in Zeiten der knappen Ressourcen..
  • dieser Schlenker über das unsägliche NotePöd, mit dem sich zwar per Parameter /p drucken lässt, aber nur auf den Standarddrucker

Ohne Not-Päd und mit einer Temp-Datei und auf beliebigen Drucker ohne neues Fenster:
01.
@echo off & setlocal 
02.
Set "outfile=%temp%\sysinfo.txt" 
03.
set Regkey="HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" 
04.
:: ggf CHCP xxxx 
05.
>%outfile% ( 
06.
(echo.|date  & echo.|time)|find "Aktuell" 
07.
(systeminfo & ipconfig /all & reg query %regkey%)|findstr .) 
08.
09.
 
10.
Print /d:\\SusisServer\LarasLaser %outfile% 
11.
:: ggf CHCP retour 
12.
del %outfile%
[Okay, da wo jetzt Zeilen eingespart wurden, da könnten statt dessen Kommentarzeilen rein...]

Grüße
Biber
Bitte warten ..
Mitglied: m-ziemann
07.04.2009 um 07:53 Uhr
Morgen und vielen Dank für die Antworten.

"findstr . " funkioniert leider auch nicht.

schreibt mal den Befehl ipconfig in ne .txt und macht auf der Shell ein edit auf das File. Die Steuerzeichen bleiben drine.

Biber: Guter Ansatz mit dem festen Drucker, nur ist es eigentlich gewollt, dass auf dem Standartdrucker ausgegeben wird. Ich bin hier für das Schulamt in allen Schulen meiner Stadt unterwegs an fast 100 Standorten.
Das Script soll dort halt von nem USB-Stick als Momentaufnahme für die Unterlagen ausgeführt werden wenn ich mich an einen PC setze.

Grüße Marcel
Bitte warten ..
Mitglied: bastla
07.04.2009 um 10:46 Uhr
Hallo m-ziemann!

Stimmt - das überzählige CR bleibt in der Datei und wirkt sich leider beim Ausdruck aus ...

Mit einem zusätzlichen temporären VBScript (verlängert allerdings den Batch um ein Drittel ) sollte sich das aber beheben lassen - als Ergänzung zu Bibers Vorschlag:
01.
@echo off & setlocal 
02.
Set "outfile=%temp%\sysinfo.txt" 
03.
set R=%temp%\RemoveDoubleCR.vbs 
04.
>%R%  echo D=WScript.Arguments(0):Set f=CreateObject("Scripting.FileSystemObject") 
05.
>>%R% echo T=f.OpenTextFile(D).ReadAll:f.CreateTextFile(D,True).Write Replace(T,vbCr^&vbCr,vbCr) 
06.
 
07.
set Regkey="HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" 
08.
:: ggf CHCP xxxx 
09.
>%outfile% ( 
10.
(echo.|date  & echo.|time)|find "Aktuell" 
11.
(systeminfo & ipconfig /all & reg query %regkey%)|findstr .) 
12.
13.
cscript //nologo %R% %outfile% 
14.
start /w notepad /p %outfile% 
15.
:: ggf CHCP retour 
16.
del %outfile% & del %R%
Schön finde ich die Lösung zwar auch nicht, aber funktionieren sollte es so ...

Grüße
bastla
Bitte warten ..
Mitglied: m-ziemann
07.04.2009 um 12:21 Uhr
Danke für diese Lösung, funkioniert 1a


Kleine Frage hätte ich noch abweichend vom Thema: Kann ich mitgeben in welcher Schriftgröße ausgegeben wird?


Grüße Marcel
Bitte warten ..
Mitglied: bastla
07.04.2009 um 13:05 Uhr
Hallo m-ziemann!
Kann ich mitgeben in welcher Schriftgröße ausgegeben wird?
Etwas Seriöses fällt mir dazu nicht ein, aber Du kannst es (ist auch schon egal ) mit der folgenden "SendKeys"-Bastelei versuchen:
01.
@echo off & setlocal 
02.
set "outfile=%temp%\sysinfo.txt" 
03.
set Schriftgr=8 
04.
 
05.
set R=%temp%\RemoveDoubleCR.vbs 
06.
>%R%  echo D=WScript.Arguments(0):Set f=CreateObject("Scripting.FileSystemObject") 
07.
>>%R% echo T=f.OpenTextFile(D).ReadAll:f.CreateTextFile(D,True).Write Replace(T,vbCr^&vbCr,vbCr) 
08.
 
09.
set C=%temp%\ControlNotepad.vbs 
10.
>%C%  echo Set WshShell=WScript.CreateObject("WScript.Shell") 
11.
>>%C% echo WshShell.Run "notepad "^&WScript.Arguments(0):WScript.Sleep 100 
12.
>>%C% echo WshShell.AppActivate "sysinfo.txt - Editor":WScript.Sleep 100 
13.
>>%C% echo WshShell.SendKeys "^a":WScript.Sleep 500 
14.
>>%C% echo WshShell.SendKeys "%%os{TAB}{TAB}%Schriftgr%{ENTER}":WScript.Sleep 500 
15.
>>%C% echo WshShell.SendKeys "^p%%d":WScript.Sleep 2000 
16.
>>%C% echo WshShell.AppActivate "sysinfo.txt - Editor":WshShell.SendKeys "%%{F4}" 
17.
 
18.
set Regkey="HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" 
19.
:: ggf CHCP xxxx 
20.
>%outfile% ( 
21.
(echo.|date  & echo.|time)|find "Aktuell" 
22.
(systeminfo & ipconfig /all & reg query %regkey%)|findstr .) 
23.
24.
cscript //nologo %R% %outfile% 
25.
cscript //nologo %C% %outfile% 
26.
:: ggf CHCP retour 
27.
del %outfile% & del %R% & del %C%
Die Bedeutung der einzelnen simulierten Tastenbefehle -
WshShell.SendKeys "^a"
markiert zB den gesamten Text (durch Strg-a) - kannst Du hier nachlesen. Um das Prozentzeichen (als Symbol für "Alt") zu erzeugen, musst Du es im Batch verdoppeln (siehe zB Zeile 14).

Für die Pausen (zB WScript.Sleep 100) sind die Zeiten in Millisekunden angegeben und ggf etwas (nach oben) anzupassen ...

Grüße
bastla
Bitte warten ..
Mitglied: m-ziemann
07.04.2009 um 14:30 Uhr
Habe gerade nochmal was geschaut.

Finde folgenden Möglichkeit auch nicht schlecht, da die Lehrer eh nie so nen Notepad aufmachen werden. ( Lieben ja alle ihr Office )

REG ADD HKEY_CURRENT_USER\Software\Microsoft\Notepad /v iPointSize /t REG_DWORD /d 86 /f

Grüße Marcel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Linux Tools
gelöst Mit Linux am ende einer Datei eine Leerzeile einfügen (30)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

Batch & Shell
gelöst Werte aus CSV in TXT - Powershell (20)

Frage von Komoran12 zum Thema Batch & Shell ...

Sonstige Systeme
gelöst Daten aus txt-Files sammeln (16)

Frage von MegaGiga zum Thema Sonstige Systeme ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (23)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...