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

Frage Entwicklung Batch & Shell

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, 4541 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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...