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, 4858 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Batch & Shell
gelöst Appx aus Image auslesen und entfernen (9)

Frage von Markus2016 zum Thema Batch & Shell ...

CPU, RAM, Mainboards
CPU Lüfter von CPU entfernen (6)

Frage von uridium69 zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...