WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.08.2003, 13:42   #1
spunz
Super-Moderator
 
Registriert seit: 22.03.2000
Beiträge: 9.666


spunz eine Nachricht über ICQ schicken
Standard text files per batch job bearbeiten

gibt es mit windows boardmitteln die möglichkeit wie unter linux mit diversen tools (cat, grep, awk,..) textfiles zu erstellen bzw zu bearbeiten?

zb ein script das diverse laufwerke abfragt und nur die interessanten zeilen raussucht:

Code:
dir c: >test.txt
dir g: >>test.txt
dir \\server1\c$ >>test.txt
dir \\server1\d$ >>test.txt
dir \\server3\c$ >>test.txt
grep "Bytes frei" test.txt >frei.txt
die zeilen schaun dann ca so aus: " 24 Verzeichnis(se), 26.158.358.528 Bytes frei", wie bekomme ich die ungewünschten wörter und zeichen am einfachsten raus? die grep.exe usw ist ja noch recht einfach zu bekommen, aber awk hab ich nur im cygwin paket gefunden welches ich jetzt nicht wirklich komplett installieren will.
spunz ist offline   Mit Zitat antworten
Alt 27.08.2003, 14:07   #2
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Da sollte alles dabei sein, was du brauchst, obwohl du nicht wirklich dazugeschrieben hast was du tun willst.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 27.08.2003, 14:14   #3
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

ev. find ?:
Code:
D:\>dir /s c:\winnt |find "Bytes frei"
             446 Verzeichnis(se),   8.268.189.696 Bytes frei
Ev. ist http://unxutils.sourceforge.net/ auch einen Blick wert.
flinx ist offline   Mit Zitat antworten
Alt 27.08.2003, 14:23   #4
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

@spunz

im C'T 15/2003 (ich glaub das wars) is ein absolut genialer Artikel zur Programmierung für die Command-Line.

Sie schreiben etwas über Stringbearbeitung, wie man mit div. Werten rechnet usw.
Es ist halt nur eine riesen Spielerei bis es so funkt wie man will und so was angedeutet wurde geht noch wesentlich mehr. Aber man muss sich glaub ich wirklich damit beschäftigen, da es natürlich net wirklich mit einer konventionellen Programmiersprache vergleichbar ist.


Eine andere Möglichkeit wäre natürlich, das ganze via VBS zu machen, welches dann von einem Batch-File aufgerufen wird - falls das gebraucht wird.
renew ist offline   Mit Zitat antworten
Alt 27.08.2003, 15:01   #5
spunz
Super-Moderator
 
Registriert seit: 22.03.2000
Beiträge: 9.666


spunz eine Nachricht über ICQ schicken
Standard

ich will den freien speicher diverser partitionen auf verschiedenen server sammeln und die reinen "zahlen" weiterverwenden. die frage ist also, wie bekomme ich die wörter (446 Verzeichnis(se), Bytes frei) raus damit ich nur noch die zahlen habe (mit windows boardmitteln, wenn möglich)

edit: fehlt nur noch das m3 mit perl kommt (was zugegeben nicht schlecht wäre, wenns bei win dabeiwäre )
spunz ist offline   Mit Zitat antworten
Alt 27.08.2003, 15:23   #6
renew
Inventar
 
Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552


Standard

Zitat:
Original geschrieben von spunz
ich will den freien speicher diverser partitionen auf verschiedenen server sammeln und die reinen "zahlen" weiterverwenden. die frage ist also, wie bekomme ich die wörter (446 Verzeichnis(se), Bytes frei) raus damit ich nur noch die zahlen habe (mit windows boardmitteln, wenn möglich)

edit: fehlt nur noch das m3 mit perl kommt (was zugegeben nicht schlecht wäre, wenns bei win dabeiwäre )
Was ich mich an den Artikel erinnere, sollte es theoretisch funktionieren. Nur wie schon gesagt, es ist bei Gott nicht leicht eine funktionierende Lösung über die Commandline zu erstellen. Da muss man sich sicher lang damit spielen.

Willst du die Partitionen übers Netz abfragen - oder nur lokal? (weil übers Netz stell ich es mir schwierig vor...)

Wegen Boardmitteln: VBS ist auch ein Windows Boardmittel - sofern man es nicht abgedreht hat. (weil du nix dazu geschrieben hast, ob du VBS verwenden willst/kannst )
renew ist offline   Mit Zitat antworten
Alt 27.08.2003, 15:27   #7
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Mit Windows (und grep ):

dir | grep -Po '[\d\.]+ Bytes frei' | grep -Po '[\d\.]+'

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 27.08.2003, 15:43   #8
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Bordmittel (ohne grep ):
Code:
@echo off
setlocal
dir c:\ |find "Bytes frei" >test.txt
for /f "tokens=3" %%i in ('type test.txt') do set bytesc=%%i
dir d:\ |find "Bytes frei" >test.txt
for /f "tokens=3" %%i in ('type test.txt') do set bytesd=%%i
echo %bytesc%   <-- mit Punkt
echo %bytesd%
for /f "tokens=1-6 delims=./" %%i in ('echo %bytesc%') do set sumc=%%i%%j%%k%%l%%m%%n
for /f "tokens=1-6 delims=./" %%i in ('echo %bytesd%') do set sumd=%%i%%j%%k%%l%%m%%n
echo %sumc%  <-- ohne Punkt
echo %sumd%
Ohne Gewähr, daß es richtig ist!
flinx ist offline   Mit Zitat antworten
Alt 27.08.2003, 15:49   #9
spunz
Super-Moderator
 
Registriert seit: 22.03.2000
Beiträge: 9.666


spunz eine Nachricht über ICQ schicken
Standard

hm, so schauts mal ganz gut aus. hab flinx´s script etwas geändert:

Code:
setlocal
dir c:\ |find "Bytes frei" >test.txt
for /f "tokens=3" %%i in ('type test.txt') do set bytesc=%%i
dir g:\ |find "Bytes frei" >>test.txt
for /f "tokens=3" %%i in ('type test.txt') do set bytesd=%%i
echo %bytesc%
echo %bytesd%
for /f "tokens=1-10 delims=./" %%i in ('echo %bytesc%') do set sumc=%%i%%j%%k%%l%%m%%n
for /f "tokens=1-10 delims=./" %%i in ('echo %bytesd%') do set sumd=%%i%%j%%k%%l%%m%%n
echo %sumc% >fertig.txt
echo %sumd% >>fertig.txt
jetzt muß ich das nur noch in mein diagramm script reinbekommen
spunz ist offline   Mit Zitat antworten
Alt 27.08.2003, 16:00   #10
flinx
Inventar
 
Registriert seit: 08.04.2001
Beiträge: 3.101


Standard

Kompakter:
Code:
dir c:\ d:\ |find "Bytes frei" >test.txt
for /f "tokens=3" %%i in ('type test.txt') do echo %%i >>fertig.txt  <-- mit Punkt
for /f "tokens=1-6 delims=." %%i in ('type fertig.txt') do echo %%i%%j%%k%%l%%m%%n >>fertig2.txt  <-- ohne Punkt
flinx ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:39 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag