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

ermittelten Wert aus Perl in eine Windows-bat/cmd in Variable übergeben

Mitglied: rudeboy

rudeboy (Level 2) - Jetzt verbinden

30.05.2006, aktualisiert 31.05.2006, 8757 Aufrufe, 3 Kommentare

Hallo zusammen,

ihr seit meine letzte Hoffnung!

Suche schon seit Stunden nach einer Lösung für dieses, an sich kleine Problem.

Das ganze bezieht sich auf ein Windows-System(XP pro und Server 2k3).

Hab ein Perl-skript(bzw wird über "perl xxx.pl Parameter1 Parameter2" aufgrufen) das eine Zahl ausspuckt. Diese Zahl möchte ich als Variable in einer bat/cmd Datei weiterverarbeiten.
Hab auch schon den Umweg über eine Ausgabe in eine Datei "perlskript >> Dateiname" und
anschließenden Wiedereinlesen versucht.

Ist beim Versuch geblieben...

Da er mir bei "set a=type dateiname" nur "type dateiname" reinschreibt und beim pipen mach ich wohl noch nen Denkfehler (set a= | type dateiname).

Am liebsten wär es mir natürlich, wenn man im Perlskript schon eine Variable betanken könnte, die auch in der Batch lesbar wär.

Falls mir da einer auf die Sprünge helfen kann, schon mal Danke im voraus!

Gruß, Thomas
Mitglied: Biber
30.05.2006 um 17:09 Uhr
Moin rudi,

die einfachsten Varianten wären:
01.
[vom CMD-Prompt] 
02.
for /F %i in ('perl xxx.pl Parameter1 Parameter2') do set "variable=%i" 
03.
 
04.
-bzw- 
05.
[im Batch] 
06.
for /F &%i in ('perl xxx.pl Parameter1 Parameter2') do set "variable=%%i" 
07.
 
08.
-oder, wenn Du mit der Rückgabe-Variablen rechnen willst/musst:- 
09.
for /F %%i in ('perl xxx.pl Parameter1 Parameter2') do set /a "variable=%%i"
Alternativ (aber umwegiger) über Outputumlenkung in eine Textdatei:
perl xxx.pl Parameter1 Parameter2>%temp%\Dateiname.xyz
Set /P variable=<%temp%\Dateiname.xyz

...was den Nachteil hat, dass hier ein weiterer M$-Bug vor sich hin fehlert: "Set /P" und "Set /A" lassen sich nicht gleichzeitig verwenden (Du kannst mit Set /P keine in Bill Gates Sinn numerische Variable abfragen).
Ist nach meinen Unterlagen der M$-CMD-Bug 5613.... *gg

Hope That Helps
Biber
Bitte warten ..
Mitglied: rudeboy
31.05.2006 um 13:28 Uhr
G´Tag Herr Biber! ;)

Sieht erst mal recht plausibel aus ganze, hab es aber noch nicht getestet.
Über die For- Schleifen bin ich bei der Recherche zwar oft gestolpert, sah es nur nicht ein für einen Wert ne Schleife zu verwenden.

Scheint aber eh ne andere Schleifen-Technik zu sein als damals auf nem 64er oder Atari XL. ;)

Kleine Frage hätte ich jetzt noch:
Unterschied zwischen %% und % ist mir bewußt, aber &% sagt mir nichts.
Hast vielleicht nen Link, wo sowas erklärt wird? Set /? hilft mir nicht so recht weiter...

Gruß, Thomas
Bitte warten ..
Mitglied: Biber
31.05.2006 um 18:08 Uhr
Moin rudi,
aber &% sagt mir nichts.

*rotwerd*
Mir auch nichts - das war einer meiner üblichen Tippfehler

Im Batch müssen bei den FOR..IN..DO-Zählvariablen zwei Prozentzeichen statt einem am CMD-Prompt vorangestellt werden.

Also, wenn am CMD-Prompt
for %i in (eins, zwei, drei) do @echo %i
..das Gewünschte liefert, dann in einem Batch entsprechend
for %%i in (eins, zwei, drei) do @echo %%i
...um zu dem gleichen Ergebnis zu kommen.
Bei Dir entsprechend (korrigierte Version):
01.
[vom CMD-Prompt] 
02.
for /F %i in ('perl xxx.pl Parameter1 Parameter2') do set "variable=%i" 
03.
 
04.
-bzw- 
05.
[im Batch] 
06.
for /F %%i in ('perl xxx.pl Parameter1 Parameter2') do set "variable=%%i"
Zu Deiner Link-Frage:
Im Bereich Batch & Shell habe ich ein paar (wenige) Links zu ein paar Batch-Tutorials eingetragen.
Die beziehen sich auch auf die etwas neueren Features und Möglichkeiten.
Ansonsten ist leider vieles zum Thema Batch, was so über Suchmaschinen zu finden ist, noch aus DOS- Zeiten.
Die Windows-Hilfe zu den einzelnen Befehlen gibt auch einiges her (bei FOR /?; CALL /?; IF /?; GOTO /?..).
Die Hilfe zu SET (SET /?) ist wirklich ein äußerst schlechter Einstieg - schau da noch mal rein, wenn Du die anderen paar überflogen hast.

Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD-Ergebnis in Variable speichern und diese Variable dann andere Batchdatei übergeben
Frage von torilloBatch & Shell6 Kommentare

Hallo Forum, ich habe ein Problem mit der Übergabe einer Variable von einer in eine andere Batchdatei und würde ...

Perl
Perl Variable i Excel
Frage von moritzhdPerl1 Kommentar

Servus zusammen, finde leider im Netz nicht das was ich brauche, und selber habe ich es schon so oft ...

Batch & Shell
BAT - Leerzeichen in Variable entfernen
gelöst Frage von hoffi3dBatch & Shell5 Kommentare

Ich mal wieder. Ich lese gerade einige Dateien aus einem Verzeichniss aus und schreibe diese in eine Variable, das ...

Batch & Shell
Variable aus anderer Bat-Datei holen
gelöst Frage von asterixBatch & Shell7 Kommentare

Hallo zusammen Ich möchte in einer Bat-Datei eine variable aus einer anderen Bat-Datei holen. Wie schaff ich das nun, ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 4 StundenRouter & Routing1 Kommentar

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 11 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 16 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

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 ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...