# [Powershell]



## rkrause (24. September 2010)

Möchte gern ein paar Batchskripte in Powershell portieren, leider treffe ich dort hin und wieder auf Probleme, die ich bisher immer noch selber lösen konnte ... wenn zwar nicht elegant, aber immerhin

Mein jetziges Problem:
Früher war mit Batch folgendes möglich, mit Powershell leider nicht

```
rem nur Laufwerksbuchstabe und Pfad
set Datei="%~d1%~p1"

rem setze Laufwerk+Pfad+Ordnername
set ordner="%~f1%\"

rem ~ni - erzeugt nur den Dateinamen von %i, ~xi - erzeugt nur die Dateierweiterung von %i
FOR /f "delims=" %%i in ("%Dateinamen%") do set datei_endung=%%~xi
```

Ich möchte gerne, von der aktuellen Datei, mal 
- nur den Namen haben (ohne Erweiterung)
- mal nur die Erweiterung
- mal nur den Pfad.


Folgendes habe ich schon mit Powershell hinbekommen:

Dateien einlesen

```
$bigfiles = get-childitem $quell_verzeichnis -recurse -filter *.txt| % { $_.FullName }
```

Dateien in Datei schreiben

```
$bigfiles | Out-File $source_list -append
```


lezte Zeile aus Datei lesen

```
$global:source_file = Get-Content $source_list | Select-Object -last 1
```

gibt mir den Namen mit Endung der Datei

```
$source_file_rk = $source_file | Get-ChildItem -Name
```


Wie gesagt, suche nach  ner Möglichkeit:
- nur den Name
- nur den Pfad
- nur die Erweiterung

in der Powershell auszuwerten

Danke im Voraus

EDIT: der Titel ist leider nich editierbar, vlt "[PS] Dateiname, Erweiterung, Pfad aus aktueller Datei auslesen" umbenennen


----------



## Matthias Reitinger (24. September 2010)

Hallo,

probier es mal so:

```
$fileinfo = $source_file | Get-ChildItem
$basename = $fileinfo.BaseName
$extension = $fileinfo.Extension
$directory = $fileinfo.DirectoryName
```

Grüße,
Matthias


----------



## rkrause (25. September 2010)

Danke, genau was ich gesucht habe.


----------

