Łączenie zmiennych w programie Powershell

9

Próbuję połączyć dwie zmienne w programie Powershell, aby utworzyć pełną ścieżkę pliku i nazwę pliku, aby zapisać plik tekstowy.

Mam dwie zmienne

  • $ Log_path i
  • $ Log_name

Próbuję połączyć dwie zmienne razem w tym fragmencie kodu:

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

Nie mogę znaleźć poprawnej kombinacji funkcji?

Aby poprawnie sformatować ścieżkę pliku, należy również dodać „\” między zmiennymi ścieżka_logu i nazwa_logu.

BobJim
źródło

Odpowiedzi:

5

Możesz użyć Join-Path , która wstawi za ciebie ukośnik.

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

Obsługuje logikę, jeśli element nadrzędny $ Log_Path ma już ukośnik lub go nie ma.

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

>join-path c:\temp\ text.txt
c:\temp\test.txt
Co by było fajne
źródło
12
$path = "C:\folder"
$name = "file.exe"
$fullname = $path + "\" + $name
$fullname

(lub)

$fullname = "$path\$name"

ale nie

$fullname = '$path\$name'

Wynik

C: \ folder \ file.exe

nixda
źródło