Verketten von Variablen in Powershell

9

Ich versuche, zwei Variablen in Powershell zu verketten, um einen vollständigen Dateipfad und Dateinamen zum Speichern einer Textdatei zu bilden.

Ich habe zwei Variablen

  • $ Log_path und
  • $ Log_name

Ich versuche, die beiden Variablen in diesem Code zusammenzufügen:

$ objWorkbook = $ objExcel.Workbooks.Open $ Log_path "\ $ Log_name"

Ich kann die richtige Funktionskombination nicht finden?

Außerdem muss zwischen den Variablen "Log_path" und "Log_name" ein "\" eingefügt werden, um den Dateipfad korrekt zu formatieren.

BobJim
quelle

Antworten:

5

Sie können Join-Path verwenden und es wird für Sie in den Verzeichnis-Schrägstrich eingefügt.

$objWorkbook = $objExcel.Workbooks.Open (Join-Path $Log_path $Log_name)

Es behandelt die Logik, wenn das übergeordnete Element $ Log_Path den Schrägstrich bereits hat oder nicht hat.

>join-path c:\temp test.txt
c:\temp\test.txt

>join-path c:\temp\ text.txt
c:\temp\test.txt
Was wäre cool
quelle
12
$path = "C:\folder"
$name = "file.exe"
$fullname = $path + "\" + $name
$fullname

(oder)

$fullname = "$path\$name"

aber nicht

$fullname = '$path\$name'

Ausgabe

C: \ Ordner \ Datei.exe

Nixda
quelle