System Object in System String Konvertierungsfehler

Tischbank

Cadet 2nd Year
Registriert
Nov. 2013
Beiträge
18
Guten Tag,

ich habe ein Problem beim Drucken von Dateien.
Ich habe eine Reihe von Dateipfaden in einer Textdatei die sollen nacheinander gedruckt werden.

Mein bisheriger Power Shell Code:
Code:
 for ($i=1; $i -le 5; $i++)
{
Clear-Variable strA

-
$strA = Get-Content C:\Users\Assmann\Desktop\pdff\pdf\ausgabetemp\name.txt -TotalCount $i

Start-Process -FilePath  $strA  –Verb Print 

Sleep -s 4

}

Die erste Datei druck Power Shell noch ohne Probleme.
Aber sobald er die zweite Drucken soll, kommen folgende Fehlermeldungen:

Administrator Windows PowerShell Modules_2013-11-07_09-24-10.png

Wäre nett, wenn mir jemand ein paar Tipps zu Lösung meines Problems geben würde.


Lg Tischbank
 
Wieder: Gib mal mehr Daten! ;) Woher kommt $i? Was steht in name.txt drin? Wozu -TotalCount?
http://technet.microsoft.com/de-DE/library/hh849787.aspx schrieb:
Ruft die angegebene Anzahl an Zeilen vom Anfang einer Datei oder eines anderen Elements ab. Der Standardwert ist "-1" (alle Zeilen).
Wenn du alle Einträge in der Datei durchgehen willst, dann mach es lieber per
Code:
$p = ".\Desktop\t3.txt"
if( Test-Path $p )
{
    (Get-Content $p).Split( [System.Environment]::NewLine ) | % {
        echo "zeile [$_]"
    }
}
 
Guten Tag Yuuri,

ich gebe dir dann mal mehr Daten.

Ich möchte jeden Pfad der in der Textdatei steht drucken, um so aus den Doc Dateien eine einzige PDF zu erstellen.
Dazu müssen die Dokumente aber nacheinander gedruckt werden.
Dies funktioniert gut mit dem Befehl:

Code:
Start-Process -FilePath  $strA  –Verb Print

Im unteren Bild sieht man den Inhalt der Textdatei.

name.png

Zu meinem Quellcode:

Code:
for ($i=1; $i -le 5; $i++)
{
Clear-Variable strA

-
$strA = Get-Content C:\Users\Assmann\Desktop\pdff\pdf\ausgabetemp\name.txt -TotalCount $i

Start-Process -FilePath  $strA  –Verb Print 

Sleep -s 4
}

Das ist alles was in der Datei steht.

Ich hoffe ich konnte dir genügend Infos geben.

Lg Tischbank
 
Ich glaub du hast da beim zusammenkopieren verschiedenster Tutorials einfach nicht richtig verstanden was die einzelnen Sachen überhaupt machen.

Code:
for ($i=1; $i -le 5; $i++)
Du durchläufst die Schleife solange deine Zählvariable kleiner oder gleich 5 ist (-le --> less or equal) ... wenn man den gesamten Inhalt einer Datei drucken will mehr als Unpraktisch

Code:
$strA = Get-Content C:\Users\Assmann\Desktop\pdff\pdf\ausgabetemp\name.txt -TotalCount $i
Dieses Code-Fragment funktioniert beim ersten mal recht gut, da ist $i = 1 also holst du die erste Zeile aus deiner Textdatei und packst sie in den String $strA diesen übergibst du dann zum drucken.
Beim 2. mal durchlaufen deiner Schleife ist das $i = 2 das bedeutet du holst die ersten beiden Zeilen (-TotalCount $i holt die ersten i Zeilen aus der Datei)

Da liegt also der Fehler.
 
Hallo Umbel,

Achso, ich dachte der Hohlt dann nur die 2 Zeile.
Danke schonmal für den Tipp.

Was könnte ich den machen damit der nur die 2 Zeile druckt?

Lg Tischbank
 
Dann kannst du den Code aus meinem Post nutzen. Musst halt nur Zeile 5 durch deine eigene Aktion ersetzen.
 
Entweder Yuuris Lösung oder wenn du Wissen möchtest wie du mit deinem Get-Content Befehl weiter kommst

Code:
$strA = (Get-Content C:\Users\Assmann\Desktop\pdff\pdf\ausgabetemp\name.txt)[$i]

Gibt dir die Zeile i als String zurück
 
Hallo Yuuri,

Leider funktioniert dies nicht.

Administrator Windows PowerShell Modules_2013-11-07_10-26-52.png

Ich denke mal ich Stelle mich nur dumm an.
Aber danke schonmal das Ihr euch um mein Problem bemüht.

Lg Tischbank
Ergänzung ()

Hallo Umbel,

deine Lösung scheint zu funktionieren.

Vielen Dank dafür.

LG Tischbank

Danke Nochmal
 
Code:
$file = Get-Content C:\Users\Assmann\Desktop\pdff\pdf\ausgabetemp\name.txt
for ($i=0; $i -le $file.length; $i++){

Clear-Variable strA

$strA = $file[$i]
 
Start-Process -FilePath $strA –Verb Print
 
Sleep -s 4

}

Das sollte dann die ganze Datei durchgehen
 
Hallo nochmals,
hat alles geklappt.
Danke dafür nochmals.

Habe noch mal eine kurze Frage.

Kann man Word daran hindern sich beim "- Verb Print" zu öffnen
oder es im Hintergrund lassen.

Wenn Ihr mir diese Frage kurz beantworten könntet, wäre dies zu freundlich.

Lg Tischbank
 
Zurück
Oben