gelöst PowerShell-VB - Pfad wird bei Parameterübergabe abgeschnitten

Mitglied: Pat.bat

Pat.bat (Level 1) - Jetzt verbinden

16.10.2019 um 10:33 Uhr, 796 Aufrufe, 8 Kommentare

Hallo zusammen,

ich stoße momentan auf folgendes Problem:

in meinem VB.Net Programm rufe ich ein Powershell Skript auf und übergebe 2 Parameter die in VB vorher gefüllt werden:

in PowerShell wird das dann wie folgt verarbeitet:

Da der Pfad in $PfadText allerdings Leerzeichen enthält schneidet er mir den Pfad immer ab, obwohl ich ihn auch hier nochmal als String an eine Variable $Textdatei übergebe.

ps fehler - Klicke auf das Bild, um es zu vergrößern

Der Vollständige Pfad hätte so aussehen sollen:

G:\FD_50_Bank\System\Prosoz Batch Verwaltung\Zahlliste\Archiv\2019\10-2019\2019-10-10\Gesamt.txt

Den Vorgang Debugge ich aus Visual Studio heraus, sodass ich den PS Code leider nicht direkt debuggen kann.


Meine Frage nun, wo liegt der Fehler? Ist er bei der Parameter Abfrage in PS ganz oben oder warum gibt er nicht den gesamten String rüber? In VB ist der Pfad noch in Ordnung.

Vielen Dank im Voraus.
Mitglied: emeriks
LÖSUNG 16.10.2019, aktualisiert um 10:40 Uhr
Hi,
im VB.Net mit "" um den Pfad arbeiten

E.

Edit:
Für sowas empfiehlt sich dann auch String.Format
Bitte warten ..
Mitglied: 141320
16.10.2019, aktualisiert um 10:38 Uhr
Na überall Anführungszeichen vergessen , das sollte man doch eigentlich wissen wenn man Pfade in der Konsole als Parameter übergibt die Leerzeichen enthalten!
edit too late
Bitte warten ..
Mitglied: Pat.bat
16.10.2019 um 11:41 Uhr
Danke das hat geholfen.

Leider hat mein Skript noch ein anderes Problem und ich finde nicht den Fehler.

Wenn ich das Skript direkt über VSCode starte, bekomme ich zwar ein paar Fehler, aber es läuft trotzdem durch und macht was es soll.

Starte ich das Skript nun über meine VB Anwendung, kommt folgender Fehler:

psfehler - Klicke auf das Bild, um es zu vergrößern

Wenn ich das Skript direkt ausführe, übergebe ich die Parameter, die normal über die VB App kommen würden, direkt. Jedoch gleicher Pfad etc.
Dann erstellt mir die Excel Dateien.

Ich poste einfach mal das gesamte Skript hier.

Als erstes die Sub in VB:

Und dann das eigentliche PS Skript:


Ich hoffe mein Praxisbuch kommt bald, damit ich hier nicht mehr soviel posten muss :D. Aber ich verstehe nicht warum es über die App nicht funktioniert, und über das Skript direkt alles einigermaßen ordentlich ausgeführt wird. Es muss ja theoretisch ein Fehler bei der Übergabe der Parameter sein, Jedoch sind die Pfad in VB und PS gleich, soweit ich sehe.
Bitte warten ..
Mitglied: emeriks
16.10.2019, aktualisiert um 11:49 Uhr
In PS-Script übersteuerst Du die Script-Parameter in Zeilen 14 & 16. Soll das so sein?

In VB.Net, Zeile 4: "\" am Ende? Soll das so sein?
Bitte warten ..
Mitglied: Pat.bat
16.10.2019 um 12:07 Uhr
In Zeile 14 und 16 war das nur zu debugging Zwecken hinterlegt, wenn ich das Skript ohne die VB-App ausführe. Ansonsten ist das auskommentiert.

in VB Zeile 4 muss das "\" am Ende, sonst erstellt er mir einen Ordner pro Zahlungsempfänger mit Datum vorne weg.

Ich möchte aber die Ordner pro ZE in dem Datumsordner haben:

So würde er es machen ohne dem Backslash, was falsch wäre:

falsch - Klicke auf das Bild, um es zu vergrößern

und so soll es sein: (wenn ich das PS Skript direkt ausführe):

richtig - Klicke auf das Bild, um es zu vergrößern



Wenn ich das Backslash in VB entferne führt erstellt er mir die Excel Dateien, aber halt nur in den falschen Ordner. Lasse ich das Backslash in VB stehen, gibts wieder die PS Fehlermeldung mit dem Illegalen Zeichen, siehe oben.
Kurios ist, das dass Backslash, wenn ich den Pfad direkt im PS Skript übergebe funktioniert...

anbei nochmal der Fehler aus PS:

psfehler - Klicke auf das Bild, um es zu vergrößern
Bitte warten ..
Mitglied: emeriks
16.10.2019 um 12:12 Uhr
Setze mal im PS vor Zeile 112
Was kommt dabei heraus?
Bitte warten ..
Mitglied: Pat.bat
16.10.2019 um 12:23 Uhr
Ups was macht er denn da:

writehostausgabe - Klicke auf das Bild, um es zu vergrößern

Wenn ich jetzt in VB das Backslash entferne und füge ein Backslash in PS zwischen $Speicherpfad und $Filename ein, funktioniert es.

Aber wie er das oben im Bild erzeugt ist mir schleierhaft und das nur weil der letztes Backslash über VB kommt ???
Bitte warten ..
Mitglied: 141320
16.10.2019, aktualisiert um 12:43 Uhr
Aber wie er das oben im Bild erzeugt ist mir schleierhaft und das nur weil der letztes Backslash über VB kommt ???
Weil der Backslash in der CMD in der du ja den PS Befehl ausführst ein Escape-Zeichen ist und du damit das Anführungszeichen als gewollten String kennzeichnest, und dieser ist nunmal in einem Pfad illegal!
https://www.robvanderwoude.com/escapechars.php
Setze den Pfad in den Argumenten in 'single quotes' bzw. Hochkommas oder escape ihn mit \\ dann ist das egal.
Bitte warten ..
Heiß diskutierte Inhalte
Netzwerke
Sporadische Ausfälle im gesamten Heimnetz
gelöst bilbo-dvdFrageNetzwerke23 Kommentare

Guten Morgen, ich habe einen Kabelanschluss bei Vodafone und mein Tarif wurde im März auf CableMax 1000 umgestellt. Ich ...

Windows Server
Auslagerungsdatei wird nicht kleiner
GwaihirFrageWindows Server23 Kommentare

Hallo zusammen, gestern hat jemand auf einem unserer Terminalserver (Windows Server 2012 R2) eine Anwendung gestartet, die den RAM ...

Sicherheit
Sicherheit oder bessere Benutzbarkeit?
gelöst StefanKittelFrageSicherheit19 Kommentare

Hallo, ich habe eine Webanwendung programmiert und sehe mich nun mit einer Frage zur Benutzbarkeit konfrontiert. Bei der Anmeldung ...

LAN, WAN, Wireless
Externes Ziel nicht erreichbar vom internen Netzwerk
Stibe88FrageLAN, WAN, Wireless16 Kommentare

Hallo Community Ich habe bei mir Homematic IP installiert. Nun kann ich seit 4 Tagen mich nicht mehr in ...

Internet Domänen
Azure AD deactivate Identity Protection
Jannik2018FrageInternet Domänen15 Kommentare

kann mir einer sagen wie ich beim meiner MS Azure AD Domäne die Identity Protection deactiviere siehe Screenshot sollte ...

Debian
2 ungesyncte Mountpoints an einem Raid 1 ?!?
jrglndmnnFrageDebian13 Kommentare

Hallo die Damen und Herren, Liebe Menschen und Menschinnen! Ich habe folgende Ausgangssituation und bitte, verzeiht mir die kleine ...

Ähnliche Inhalte
Batch & Shell

PowerShell Add-Content Pfad mit Leerzeichen

gelöst timsen-96FrageBatch & Shell7 Kommentare

Es funktioniert nicht, da bei "Config Files" und bei "Default Config" ein Leerzeichen ist. Kann mir jemand helfen und ...

Batch & Shell

PowerShell - Sheduled Task - Script vom UNC-Pfad

gelöst emeriksFrageBatch & Shell3 Kommentare

Hi, ich will ein PowerShell-Script von einem UNC-Pfad starten. Wenn ich das Script mit einem Domänen-Benutzer starte, welcher lokaler ...

Batch & Shell

CITRIX - Pfad zur veröffentlichen APP per Powershell ändern

gelöst MarciMarc85FrageBatch & Shell1 Kommentar

Hallo, Ich würde gern eine veröffentliche App in Citrix per Powershell script ändern. Hintergrund ist, dass die Anwendungen mit ...

Batch & Shell

Powershell Versionsnummer aus Pfad extrahieren und als Variable nutzen

gelöst MarciMarc85FrageBatch & Shell5 Kommentare

Hallo, ich möchte gern die versionsnummer einer Softwareinstallation aus dem Installationspfad extrahieren und als Variable nutzen. Dazu frage ich ...

Batch & Shell

Powershell - Frage zum If-Else-Pfad mit CSV-Export

gelöst HeuristikerFrageBatch & Shell2 Kommentare

Hallo zusammen, bei meinem Skript steht der Export ermittelter Werte in eine CSV-Datei. Allerdings bleibt meine Abfrage im ersten ...

Visual Studio

VB: Batchprogramm: Resultat zurückgeben an VB Form (Textfeld)

gelöst nepixlFrageVisual Studio7 Kommentare

Hallo Admins, sitze aktuell an einem kleinen Problem. Per VB wird das Tool NCFTP(.exe) gestartet, NCFTP arbeitet allerdings im ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud