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

gelöst 2 x zeile für zeile vars aus txt auslesen und weiterverwenden

Mitglied: flash-gordon

flash-gordon (Level 1) - Jetzt verbinden

05.07.2009, aktualisiert 06.07.2009, 4558 Aufrufe, 18 Kommentare

Hallo zusammen!
Hab das Forum auf den Kopf gestellt und ich bin mir ziemlich sicher dass das was ich brauche vermutlich ein Kinderspiel ist....aber ich komm einfach net drauf!

Also...ich habe schon einiges das funktioniert!
Ich möchte jetzt aber noch "%2 mit den Variablen füllen lassen! Weiss aber net wie!

In C:\prog\checkLPT\log\laptop_names.txt steht folgendes:

01.
lpt1 
02.
lpt2 
03.
lpt3 
04.
lpt4 
05.
...

Hier mein bisheriger code:

01.
::---txt für vars--- 
02.
SET usr=C:\prog\checkLPT\log\user_names.txt 
03.
SET lpt=C:\prog\checkLPT\log\laptop_names.txt 
04.
 
05.
 
06.
::---create path with usernames--- 
07.
set /a num=0 
08.
 
09.
for /F "delims=" %%a in (%usr%) do call :ausgabe %%a 
10.
 
11.
echo. 
12.
echo Anzeige der erzeugten Variablen: 
13.
set v 
14.
 
15.
goto :eof 
16.
 
17.
:ausgabe 
18.
set /a num=%num%+1 
19.
echo \\Server\%1\profile\%2.pfx >>log\pfxPfade.txt 
20.
set var%num%=%1 
21.
 
22.
 
23.
::---prüfen ob datei vorhanden ist 
24.
if exist "\\Server\%1\profile\%2.pfx" goto OK 
25.
if not exist "\\Server\%1\profile\%2.pfx" goto NOK 
26.
:OK  
27.
echo %1;OK >>"C:\prog\checkLPT\log\pfx.txt" 
28.
goto END 
29.
 
30.
:NOK  
31.
echo %1;NOK >>"C:\prog\checkLPT\log\pfx.txt" 
32.
goto END 
33.
 
34.
:END

Dieses Script gibt folgendes in "pfxPfade.txt" aus:

01.
\\Server\wkern26\profile\.pfx  
02.
\\Server\pjanz15\profile\.pfx  
03.
\\Server\mhaber02\profile\.pfx 
und in "pfx.txt":

01.
wkern26;NOK  
02.
pjanz15;NOK  
03.
mhaber02;NOK 
Das in "pfx.txt" immer NOK steht ist klar, da er das Vorhandensein aufgrund der fehlenden VAR %2 nicht finden kann!

Dank vorab für sachdienlichen Hinweise!

Gruß
Flash
Mitglied: rubberman
05.07.2009 um 23:16 Uhr
Frage 1:
Du suchst nach lpt1.pfx usw. ?

Frage 2:
Arbeitet wkern26 immer an lpt1 (ist der erste Wert der einen Datei immer dem ersten Wert der anderen Datei zugeordnet usw.) ?
Bitte warten ..
Mitglied: flash-gordon
05.07.2009 um 23:18 Uhr
Zitat von rubberman:
Frage 1:
Du suchst nach lpt1.pfx usw. ?

Frage 2:
Arbeitet wkern26 immer an lpt1 (ist der erste Wert der einen Datei
immer dem ersten Wert der anderen Datei zugeordnet usw.) ?

Hallo!
zu1: ja ich möchte "lpt1.pfx" usw....

zu 2: Ja, wkern26 arbeitet immer an lpt1!
Der erste Wert aus der einen Datei ist IMMER dem ersten der anderen zugeordnet!

MfG
flasg
Bitte warten ..
Mitglied: rubberman
05.07.2009 um 23:40 Uhr
ungefähr so (ungetestet):
01.
@echo off &setlocal enabledelayedexpansion 
02.
::---txt für vars--- 
03.
SET usr=C:\prog\checkLPT\log\user_names.txt 
04.
SET lpt=C:\prog\checkLPT\log\laptop_names.txt 
05.
::---create path with usernames--- 
06.
for /F "delims=: tokens=1,*" %%a in ('type %usr%^|findstr /n .') do call :sub1 %%a %%b 
07.
echo. 
08.
echo Anzeige der erzeugten Variablen: 
09.
set v 
10.
 
11.
goto :eof 
12.
 
13.
:sub1 
14.
set /a num=%1 
15.
set var%num%=%2 
16.
 
17.
for /F "delims=: tokens=1,*" %%a in ('type %lpt%^|findstr /n .') do call :sub2 %%a %%b  
18.
goto :eof 
19.
 
20.
:sub2 
21.
::---prüfen ob datei vorhanden ist 
22.
if %1==%num% ( 
23.
echo \\Server\!var%num%!\profile\%2.pfx >>log\pfxPfade.txt 
24.
if exist "\\Server\!var%num%!\profile\%2.pfx" (goto OK) else goto NOK 
25.
:OK  
26.
echo %1;OK >>"C:\prog\checkLPT\log\pfx.txt" 
27.
goto :eof 
28.
 
29.
:NOK  
30.
echo %1;NOK >>"C:\prog\checkLPT\log\pfx.txt" 
31.
goto :eof 
32.
)
<edit> Der Anregung von dumdideldum folgend: Fehler in der 1., 6. und 17. Zeile korrigiert. Für die Zeilen 7-9 kenne ich den ursprünglichen Sinn nicht. Sind eigentlich irrelevant. </edit>
Bitte warten ..
Mitglied: flash-gordon
05.07.2009 um 23:49 Uhr
In diesem Bereich:
01.
::---create path with usernames--- 
02.
for /F "delims=: tokens1,*" %%a in ('type %usr%^|findstr /n .') do call :sub1 %%a %%b 
03.
echo. 
04.
echo Anzeige der erzeugten Variablen: 
05.
set v
bekomme ich ein:
01.
tokens1,*" was unexpected at this time. 
02.
 
03.
Anzeige der erzeugten Variablen: 
04.
Environment variable v not defined
dann bricht das script ab!

MfG
Flash
Bitte warten ..
Mitglied: rubberman
05.07.2009 um 23:56 Uhr
Ja sorry. muss natürlich tokens=1,* heißen (in beiden FOR Schleifen)
Bitte warten ..
Mitglied: 80220
06.07.2009 um 00:04 Uhr
Die Tatsache, dass das Script für %2 nichts erzeugt, lässt darauf schließen, dass %2 nicht definiert ist.
Numerische Variablen %1 bis %n (n steht für eine Zahl) sind an das Script bzw. die Subroutine übergebene Parameter.
Bitte warten ..
Mitglied: flash-gordon
06.07.2009 um 00:08 Uhr
01.
@echo off &setlocal enabledelayedextension 
02.
::---txt für vars--- 
03.
SET usr=C:\prog\checkLPT\log\user_names.txt 
04.
SET lpt=C:\prog\checkLPT\log\laptop_names.txt 
05.
::---create path with usernames--- 
06.
for /F "delims=: tokens=1,*" %%a in ('type %usr%^|findstr /n .') do call :sub1 %%a %%b 
07.
echo. 
08.
echo Anzeige der erzeugten Variablen: 
09.
set v 
10.
 
11.
goto :eof 
12.
 
13.
:sub1 
14.
set /a num=%1 
15.
set var%num%=%2 
16.
 
17.
for /F "delims=: tokens=1,*" %%a in ('type %lpt%^|findstr /n .') do call :sub2 %%a %%b  
18.
goto :eof 
19.
 
20.
:sub2 
21.
::---prüfen ob datei vorhanden ist 
22.
if %1==%num% ( 
23.
echo \\Server\!var%num%!\profile\%2.pfx >>log\pfxPfade.txt 
24.
if exist "\\Server\!var%num%!\profile\%2.pfx" (goto OK) else goto NOK 
25.
:OK  
26.
echo %1;OK >>"C:\prog\checkLPT\log\pfx.txt" 
27.
goto :eof 
28.
 
29.
:NOK  
30.
echo %1;NOK >>"C:\prog\checkLPT\log\pfx.txt" 
31.
goto :eof 
32.
)
liefert

01.
\\Server\!var1!\profile\lpt02.pfx  
02.
\\Server\!var2!\profile\lpt03.pfx  
03.
\\Server\!var3!\profile\lpt04.pfx  
04.
\\Server\!var4!\profile\lpt05.pfx  
05.
\\Server\!var5!\profile\lpt06.pfx  
06.
\\Server\!var6!\profile\lpt07.pfx  
07.
\\Server\!var7!\profile\lpt08.pfx  
08.
\\Server\!var1!\profile\lpt02.pfx  
09.
\\Server\!var2!\profile\lpt03.pfx  
10.
\\Server\!var3!\profile\lpt04.pfx  
11.
\\Server\!var4!\profile\lpt05.pfx  
12.
\\Server\!var5!\profile\lpt06.pfx  
13.
\\Server\!var6!\profile\lpt07.pfx  
14.
\\Server\!var7!\profile\lpt08.pfx 
in "pfxPfade.txt"
Bitte warten ..
Mitglied: rubberman
06.07.2009 um 00:10 Uhr
Das war flash-gordon bewusst (siehe 2. Zeile des ersten Posts).
Bitte warten ..
Mitglied: 80220
06.07.2009 um 00:14 Uhr
Wenn ihm das bewusst gewesen wäre, hätte er es überprüfen können. Außerdem steht in Zeile 2 %2%, und %2% gibt es nicht.
Bitte warten ..
Mitglied: rubberman
06.07.2009 um 00:16 Uhr
ist schon spät (früh )
erste Zeile:
@echo off &setlocal enabledelayedexpansion
Bitte warten ..
Mitglied: flash-gordon
06.07.2009 um 00:16 Uhr
Zitat von 80220:
Wenn ihm das bewusst gewesen wäre, hätte er es
überprüfen können. Außerdem steht in Zeile 2
%2%, und %2% gibt es nicht.


Weil mir nicht einleuchten will wie ich für %2 etwas erzeuge, fragte ich ja!

Und....ich meinte natürlich %2. -da hat mich rubberman schon richtig verstanden.
Bitte warten ..
Mitglied: 80220
06.07.2009 um 00:18 Uhr
Du kannst für %2 nichts erzeugen. Du kannst nur an einen Batch oder eine Subroutine einen 2. (oder auch weitere) Parameter übergeben.
Bitte warten ..
Mitglied: flash-gordon
06.07.2009 um 00:20 Uhr
Zitat von 80220:
Du kannst für %2 nichts erzeugen. Du kannst nur an einen
Batch oder eine Subroutine einen 2. (oder auch weitere) Parameter
übergeben.

Oder so....trotzdem weiss ich net wie ich das hinbekomme.
Kannst du mir da helfen?
Bitte warten ..
Mitglied: rubberman
06.07.2009 um 00:21 Uhr
jo. nun schau mal mein Post von 00:16:52. schätze damit sollte das Prob beseitigt sein
Bitte warten ..
Mitglied: 80220
06.07.2009 um 00:22 Uhr
Hast du doch inzwischen bereits.

Deine Zeile 6
01.
for /F "delims=: tokens=1,*" %%a in ('type %usr%^|findstr /n .') do call :sub1 %%a %%b 
übergibt 2 Parameter an die Subroutine sub1. Darin wird %%a zu %1 und %%b zu %2
Bitte warten ..
Mitglied: flash-gordon
06.07.2009 um 00:25 Uhr
Zitat von rubberman:
jo. nun schau mal mein Post von 00:16:52. schätze damit sollte
das Prob beseitigt sein
Leider nicht. Ob ich die erste Zeile drin lasse, oder nicht.....
Ergebnis in "pfxPfade.txt"" ist immer:

01.
\\Server\!var1!\profile\lpt02.pfx  
02.
\\Server\!var2!\profile\lpt03.pfx  
03.
\\Server\!var3!\profile\lpt04.pfx  
04.
\\Server\!var4!\profile\lpt05.pfx  
05.
\\Server\!var5!\profile\lpt06.pfx  
06.
\\Server\!var6!\profile\lpt07.pfx  
07.
\\Server\!var7!\profile\lpt08.pfx  
08.
\\Server\!var1!\profile\lpt02.pfx  
09.
\\Server\!var2!\profile\lpt03.pfx  
10.
\\Server\!var3!\profile\lpt04.pfx  
11.
\\Server\!var4!\profile\lpt05.pfx  
12.
\\Server\!var5!\profile\lpt06.pfx  
13.
\\Server\!var6!\profile\lpt07.pfx  
14.
\\Server\!var7!\profile\lpt08.pfx 
Bitte warten ..
Mitglied: rubberman
06.07.2009 um 00:27 Uhr
Nee, mit dieser Zeile ersetzen!
@echo off &setlocal enabledelayedexpansion
Bitte warten ..
Mitglied: flash-gordon
06.07.2009 um 00:44 Uhr
Zitat von rubberman:
Nee, mit dieser Zeile ersetzen!
@echo off &setlocal enabledelayedexpansion

oh mann!!!
läuft!!!!!

1000 Dank!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Variable aus ini Datei auslesen und weiterverwenden

gelöst Frage von n0cturneBatch & Shell17 Kommentare

Hallo zusammen, ich habe eine settings.ini Datei, die unter anderem folgendes beinhaltet: Settings port=1313 Nun möchte ich den Port ...

PHP

TXT Datei auslesen und bestimmte Zeilen in Variable setzen

gelöst Frage von 126594PHP11 Kommentare

Hallo zusammen, vorweg muss ich sagen, ich bin (bis jetzt) absoluter Neuling was PHP angeht. Ich will aus einer ...

Batch & Shell

Einzelne Zeilen in txt Datei speichern und auslesen

gelöst Frage von noah1400Batch & Shell7 Kommentare

Liebe Forum-Mitglieder Ich habe da so eine Frage: Ich bin gerade dabei ein PW abfrage mit Batch zu machen. ...

Entwicklung

Bestimmte zeile aus txt datei auslesen und sich aus zeile 100 einen wert anzeigen lassen ?

gelöst Frage von bob777Entwicklung12 Kommentare

Hallo Suche einen Weg sich aus einer .config (txt) datei einen Wert Spielzeit auszulesen und anzuzeigen? Kann das irgendwer ...

Neue Wissensbeiträge
CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 8 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung26 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Windows 10
Unter Windows 10 Home 64Bit (1709) kommt Fehler beim Aufruf von verschiedenen Systemprogrammen wie z.B. Gerätemanager
Frage von bitshopWindows 1017 Kommentare

Hallo, beim meinem Onkel haben wir seit längerem das Problem, dass z.B. beim Aufruf des Gerätemanagers eine Fehlermeldung kommt ...