Benutzer mit den meisten Antworten
Powershell Warum wird meine Variable nicht angenommen?

Frage
-
$pdf = Get-ChildItem C:\users\deruser\desktop\110 -Filter *.pdf -Recurse | % { $_.FullName } Start-Process PDFXCview.exe { /printto "Printer110_test" $pdf}
Weiß jemand warum meine Variable in den Start-Process Befehl nicht übetragen wird?
Vielen Vielen Dank für die Hilfe
- Bearbeitet Julian Bachmann Freitag, 1. April 2016 13:32
- Typ geändert Teodora MilushevaModerator Montag, 4. April 2016 06:31 Die Threads die keine Aktivität haben, werden als Diskussion geändert. Das machen wir, um die Suche in dem Forum zu verbessern. Sie können den Typ jede Zeit ändern.
- Typ geändert Denniver ReiningMVP, Moderator Montag, 4. April 2016 13:16 2 Tage inaktivität sind nicht unüblich, besonders über Wochenende.
Antworten
-
Hallo,
also ich drucke PDF-Dokumente hiermit:
foreach($p in $pdfs) { #starte Ausdruck-Prozess des Pdfs, warte und schließe Prozess wieder Start-Process –FilePath $p.fullname –Verb Print -PassThru | %{sleep 5;$_} | kill }
Das erklärt zwar nicht dein Variablenproblem, aber vielleicht hilft es ja.
Ansonsten müsstest du wahrscheinlich nochmal in der Dokumentation für den PDFXCView nachsehen, wie man die Parameter übergeben muss.
Viele Grüße
Christoph
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Dienstag, 12. April 2016 14:46
- Als Antwort markiert Denniver ReiningMVP, Moderator Montag, 18. April 2016 10:26
Alle Antworten
-
Hallo,
ich gehe mal davon aus, dasss der erste Befehl mehrere PFD-Dateinen finden, somit ist deine Varaibale $PDF ein Array. Die Frage ist ob PDFXCview.exe damit klar kommt.
Du konenntes folgendes machen.
$pdf = Get-ChildItem C:\users\deruser\desktop\110 -Filter *.pdf -Recurse | % { $_.FullName } foreach ($PDFFile ind $pdf) { Start-Process PDFXCview.exe { /printto "Printer110_test" $PDFFile} }
Beste Gruesse
brima -
Hi,
brima liegt fast richtig. Du bekommst nicht nur einen simplen Array, sondern ein Objekt zurück.
$PDF stellt in deinem Fall nur den Dateinamen dar:
PS D:\Testing> $files = gci D:\Testing -filter *.txt PS D:\Testing> foreach ($file in $files){ write-host $file} Neues Textdokument (2).txt Neues Textdokument (3).txt Neues Textdokument.txt PS D:\Testing>
Das wird der PDFViewer nicht mögen, dem wirst du den vollen Pfad zur Datei mitgeben müssen:
PS D:\Testing> $files = gci D:\Testing -filter *.txt PS D:\Testing> foreach ($file in $files){ write-host $file.FullName} D:\Testing\Neues Textdokument (2).txt D:\Testing\Neues Textdokument (3).txt D:\Testing\Neues Textdokument.txt PS D:\Testing>
-
Hallo,
also ich drucke PDF-Dokumente hiermit:
foreach($p in $pdfs) { #starte Ausdruck-Prozess des Pdfs, warte und schließe Prozess wieder Start-Process –FilePath $p.fullname –Verb Print -PassThru | %{sleep 5;$_} | kill }
Das erklärt zwar nicht dein Variablenproblem, aber vielleicht hilft es ja.
Ansonsten müsstest du wahrscheinlich nochmal in der Dokumentation für den PDFXCView nachsehen, wie man die Parameter übergeben muss.
Viele Grüße
Christoph
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Dienstag, 12. April 2016 14:46
- Als Antwort markiert Denniver ReiningMVP, Moderator Montag, 18. April 2016 10:26