2017-12-18 1 views
0

Ich habe eine bat.file, wo ich mein ps1-Skript anrufe. Ich werde einen Weg zur ps1-SkriptWie man die Pfadvariable vom Stapel auf ps1 festlegt

Fledermaus begehen:

... 
set path="\\wka-wn-stda3\xKarten\A\" 
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '%~dpn0.ps1'" 

ps1:

$path="\\wka-wn-stda3\xKarten\A\" 
... 

ich den Pfad innerhalb der PS1- aus der Batch-Datei nehmen Datei. Wie kann ich das erkennen? Hoffe jemand kann mir bitte helfen !?

Antwort

0
  1. lesen und about_Environment_Variables

Sie können auch die Werte von Umgebungsvariablen anzeigen und ändern folgen ohne Cmdlets durch den Ausdruck Parser in Windows Powershell verwenden. Um den Wert einer Umgebungsvariablen anzuzeigen, verwenden Sie die folgende Syntax:

$Env:<variable-name> 
  1. Sie die %PATH% Umgebungsvariable nicht willkürlich gesetzt, lesen %PATH% command:

Die Umgebungsvariable %PATH% enthält eine Liste von Ordnern. Wenn ein Befehl an der CMD-Eingabeaufforderung ausgegeben wird, sucht das Betriebssystem zuerst nach einer ausführbaren Datei im aktuellen Ordner, wenn es nicht gefunden wird wird %PATH% scannen, um es zu finden.

  1. Nehmen set "varname=value" Syntax statt set varname="value" (Anmerkung Position " doppelte Anführungszeichen). Beispiel:
==> set var="%cd%" 

==> powershell -noprofile -command (Get-Childitem $env:var -filter "*.ps1").Name 
Get-Childitem : Cannot find drive. A drive with the name '"d' does not exist. 
At line:1 char:2 
+ (Get-Childitem $env:var -filter *.ps1).Name 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: ("d:String) [Get-ChildItem], DriveNotFoundException 
    + FullyQualifiedErrorId : DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand 


==> set "var=%cd%" 

==> powershell -noprofile -command (Get-Childitem "$env:var" -filter "*.ps1").Name 
cliparser.ps1 

==> 
Verwandte Themen