gelöst Per batch mehrere Werte aus text lesen Möglich ?

Mitglied: Opachl

Opachl (Level 1) - Jetzt verbinden

21.10.2007, aktualisiert 22.10.2007, 7195 Aufrufe, 8 Kommentare

Ich möchte aus einer Textdatei deren Name nich konstant ist Werte auslesen.
Der Name der txt datei ist wie folgt Aufgebaut:

PCName-Tag-monat-Jahr (ich möchte immer das Neuste verwenden)
Der Inhalt lautet:

Name=Server1
Ip=xx.x.xxx.xxx


Nun habe ich 10 verschiedene Pc´s somit auch jeden tag 10 txt datein.
Das root Verzeichniss aller txt datein ist "C:\ipsammlung" (es liegen alle 10 datein auf einem pc)
Was ich nun möchte ist

Eine Auflistung aller PC mit ip und auswahl per batch
Zum besseren Verständniss

Es soll später ca so ausehen:
Wenn es möglich ist so wie ich mir es denke
Danke schon mal im Voraus
mfg Opachl
Mitglied: bastla
22.10.2007 um 00:08 Uhr
Hallo Opachl und willkommen im Forum!

Zu Deiner Frage muss ich vorweg einmal Biber zitieren: Alles außer Brotschneiden geht mit Batch.
Ob das mit dem Brotschneiden immer noch gilt, können wir ihn ja mal fragen ...

Ein erster Entwurf könnte so aussehen:
Die Dateiauswahl habe ich für den Moment eingespart (auch, da mir nicht ganz klar ist, ob es etwa genügen würde, einfach die 10 neuesten Dateien nach Änderungsdatum zu verwenden) - es werden einfach alle Textdateien des Quellordners gelesen (daher zum Testen nur die jeweils passenden dort ablegen), wobei ich natürlich voraussetze, dass alle Textdateien die von Dir beschriebene Struktur aufweisen.

Der Test, ob eine getroffene Auswahl eine Zahl ist, wurde neulich hier besprochen: https://www.administrator.de/In_Batch_Datei_eine_Pr%C3%BCfung_einbauen%2 ...
Wasserdicht ist die Absicherung der Eingabe damit natürlich noch nicht ...

Das "net send" wird zu Testzwecken (durch das "echo" davor) nur dargestellt.

Eine Einschränkung gibt es hinsichtlich der verwendeten Texte: Ein "!" wird einfach "verschluckt", bei Verwendung zweier "!" verschwindet zusätzlich der Teil dazwischen. Grund dafür ist die "delayedexpansion", welche das "!" als Ersatz für das "%" bei Variablen benötigt.

Behübschen kann man/frau das Ganze ja im Fall des Falles später noch ...

Grüße
bastla

P.S.: Den Link zu Biber's Profil habe ich ua gesetzt, da Du dort die Links zu seinen äußerst empfehlenswerten Tutorials/Workshops findest ...
Bitte warten ..
Mitglied: Opachl
22.10.2007 um 17:07 Uhr
Danke für die schnelle Antwort habe noch eine weitere Idee:
Habe dabei allerdings ein Problem beim erstellen meiner Server.txt

Server.bat
@echo off
for /f "tokens=1-9 delims=:][ " %%a in (Server.txt) do call :processLine %%a %%b %%c %%d %%e %%f %%g %%h %%i
goto :listall

:processline
set "pcn1=%1"
set "pci1=%2"
set "pcn2=%3"
set "pci2=%4"
set "pcn3=%5"
set "pci3=%6"
set "pcn4=%7"
set "pci4=%8"
set "pcn5=%9"
goto :eof

:listall
echo.
echo Bitte Auswahl treffen
echo
echo.
echo NR Name IP
echo 1 %pcn1% %pci1%
echo 2 %pcn2% %pci2%
echo 3 %pcn3% %pci3%
echo 4 %pcn4% %pci4%
echo 5 %pcn5%
echo.
echo 6 Zuruek
echo.
echo
echo.

:menue
set /P auswahl=NR:

if /I "%auswahl%"=="1" (
echo 1
goto :PC1
)

if /I "%auswahl%"=="2" (
echo 2
goto :PC2
)

if /I "%auswahl%"=="3" (
echo 3
goto :PC3
)

if /I "%auswahl%"=="4" (
echo 4
goto :PC4
)

if /I "%auswahl%"=="5" (
echo 5
goto :PC5
)

if /I "%auswahl%"=="6" (
echo 6
call Batmenue.bat
)

:PC1
title *Nachricht an %pcn1%*
cls
echo Zielhost/IP: %pci1%
cls
echo Nachricht:
echo:
set /p b=
cls
echo Anzahl:
echo:
set /p c=
FOR /L %%h IN (0,1,%c%) DO net send %pci1% %b%
goto :listall

:PC2
title *Nachricht an %pcn2%*
cls
echo Zielhost/IP: %pci2%
cls
echo Nachricht:
echo:
set /p b=
cls
echo Anzahl:
echo:
set /p c=
FOR /L %%h IN (0,1,%c%) DO net send %pci2% %b%
goto :listall

:PC3
title *Nachricht an %pcn3%*
cls
echo Zielhost/IP: %pci3%
cls
echo Nachricht:
echo:
set /p b=
cls
echo Anzahl:
echo:
set /p c=
FOR /L %%h IN (0,1,%c%) DO net send %pci3% %b%
goto :listall

:PC4
title *Nachricht an %pcn4%*
cls
echo Zielhost/IP: %pci4%
cls
echo Nachricht:
echo:
set /p b=
cls
echo Anzahl:
echo:
set /p c=
FOR /L %%h IN (0,1,%c%) DO net send %pci4% %b%
goto :listall

:PC5
title *Nachricht an %pcn5%*
cls
echo Zielhost/IP: %pci5%
cls
echo Nachricht:
echo:
set /p b=
cls
echo Anzahl:
echo:
set /p c=
FOR /L %%h IN (0,1,%c%) DO net send %pci5% %b%
goto :listall

hiermit mache ich die server.txt
copy /b C:\ipsammlung\*.txt Server.txt

Das Ergebniss ist dann

PC1:xx.x.xxx.xxx: PC2:xx.x.xxx.xxx: PC3:xx.x.xxx.xxx: PC4:xx.x.xxx.xxx:

Mein Script oben kann das aber nur verarbeiten wenn die server.txt keine leerzeichen hat und immer das letzte doppelpunkt zeichen muss weg.
Gibt es da ne möglich keit die txt abzuändern oder vlt in der anderen txt datei?
Bitte warten ..
Mitglied: Opachl
22.10.2007 um 17:23 Uhr
Nun es sollten schon immer die neusten sein da es ja sonnst doppelte werte gibt zb:


Server1-11-10-06.txt
Name=Server1
Ip=xx.x.xxx.xxx


Server1.12.10.06.txt
Name=Server1
Ip=xx.x.xxx.xx2

Dann Würde es bei dir ja so ausehen
Nr Name IP
1 Server1 xx.x.xxx.xxx
2 Server1 xx.x.xxx.xx2

Deshalb benötige ich immer die neuste datei von jedem pc

Aber das Script ist echt super nochmals danke
Gruß Opachl
Bitte warten ..
Mitglied: bastla
22.10.2007 um 17:25 Uhr
Hallo Opachl!

Ich sehe den Sinn des Ganzen nicht - eigentlich würde es genügen, wenn Du in meinem Batch oben
ersetzt durch
Was hast Du überhaupt mit dem Batch vor?

Grüße
bastla
Bitte warten ..
Mitglied: bastla
22.10.2007 um 17:30 Uhr
Hallo Opachl!

Wie viele Dateien gibt es, wie sind sie (außer mit dem Datum) benannt - Server1 bis Server10?

Gibt es jeden Tag neue Dateien, so dass sie einfach anhand des Tagesdatums herausgefiltert werden können?

Werden immer alle Dateien erneuert, sodass, wie schon erwähnt, einfach das Dateidatum herangezogen werden kann?

Grüße
bastla
Bitte warten ..
Mitglied: Opachl
22.10.2007 um 20:51 Uhr
ich habe ca 10 pc´s die jeden Tag um ca 12 uhr mittags per Backup die txt datei anlegen als Report der Name beinhaltet immer

pcname-tag-monat-jahr.txt

dh nach 1 woche hätte ich ca
70 datein die alle mit dem jeweiligen pcnamen beginnen darauf folgt dann dass erstell datum.

das script müsste also den namen der txt datein lesen und für jeden gefunden namen nur jeweils das neuste dokument(datum) öffnen.

Wenn das geht wäre echt super ich habe echt keine idee wie ich das machen soll

mfg Opachl


Noch ne frage ich steh grade aufm Schlauch wie kann ich mehrere Festplatten durchsuchen nach einem bestimmten Ordnernamen zb "Bilder" und diesen möchte ich dann per xcopy auf ein anderes verszeichniss kopieren zb yxc:\test\bilder

danke wenn das noch sagen könntest
hast mir aber schon sehr geholfen
Bitte warten ..
Mitglied: bastla
22.10.2007 um 21:23 Uhr
Hallo Opachl!

Ersetze den ersten Teil (bis vor ":Menue") durch
Deine Zusatzfrage wäre einen neuen Thread wert ...

Grüße
bastla
Bitte warten ..
Mitglied: Opachl
22.10.2007 um 22:40 Uhr
danke nun geht alles

mfg Opachl
Bitte warten ..
Heiß diskutierte Inhalte
Windows Server
Auslagerungsdatei wird nicht kleiner
GwaihirFrageWindows Server23 Kommentare

Hallo zusammen, gestern hat jemand auf einem unserer Terminalserver (Windows Server 2012 R2) eine Anwendung gestartet, die den RAM ...

Netzwerke
Sporadische Ausfälle im gesamten Heimnetz
gelöst bilbo-dvdFrageNetzwerke23 Kommentare

Guten Morgen, ich habe einen Kabelanschluss bei Vodafone und mein Tarif wurde im März auf CableMax 1000 umgestellt. Ich ...

Sicherheit
Sicherheit oder bessere Benutzbarkeit?
gelöst StefanKittelFrageSicherheit19 Kommentare

Hallo, ich habe eine Webanwendung programmiert und sehe mich nun mit einer Frage zur Benutzbarkeit konfrontiert. Bei der Anmeldung ...

Router & Routing
RDP nur im internen Netz möglich nicht aber per vpn?
einfach112FrageRouter & Routing18 Kommentare

Hallo zusammen. Beim Kunden habe ich einen Server mit VMWARE laufen. Darauf ein Windows Server 2016 Essentials als VM ...

Internet Domänen
Azure AD deactivate Identity Protection
Jannik2018FrageInternet Domänen15 Kommentare

kann mir einer sagen wie ich beim meiner MS Azure AD Domäne die Identity Protection deactiviere siehe Screenshot sollte ...

LAN, WAN, Wireless
Externes Ziel nicht erreichbar vom internen Netzwerk
Stibe88FrageLAN, WAN, Wireless14 Kommentare

Hallo Community Ich habe bei mir Homematic IP installiert. Nun kann ich seit 4 Tagen mich nicht mehr in ...

Ähnliche Inhalte
Batch & Shell
Text ersetzen mit Batch
gelöst NeVe29FrageBatch & Shell18 Kommentare

Hallo zusammen, ich frage mich ob folgendes per Batch möglich ist, da ich mich mit Perl rumschlage und es ...

Batch & Shell
Batch - mehrere Text-Dateien erstellen
gelöst bikalexanderFrageBatch & Shell6 Kommentare

Hallo Zusammen, Ich habe folgenden Script: Frage: wie kann ich den Script um folgende Use case erweitern? Use case ...

Batch & Shell
Mit Einer Batch Datei Text Bearbeiten
gelöst ronny30021FrageBatch & Shell2 Kommentare

Guten Tag miteinader Ich habe folgendes Problem: Ich würde gerne mit einer Batch-Datei eine Text-Datei durchsuchen, Das gesuchte wort ...

Batch & Shell

Wert aus Batch Schleife in Variable speichern

gelöst anmelderFrageBatch & Shell5 Kommentare

Ich möchte aus einem Verzeichnis alle Dateien mit einer bestimmten Endung anzeigen lassen. Die Dateien sind nummeriert. Der Nutzer ...

Batch & Shell

Batch zum vergleichen von text Dateien

BellamiiiiFrageBatch & Shell16 Kommentare

Hallo, ich bin leider im Scripte schreiben nicht der beste, also versuch ich mal mein Glück bei euch =). ...

Batch & Shell

Reg query wert als platzhalter in batch

136298FrageBatch & Shell4 Kommentare

guten morgen, da ich gerade eine phase nach input habe wäre ich dankbar wenn ihr mir hierbei helfen könnt ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud