Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

System.Windows.Forms.OpenFileDialog / SaveFileDialog jeweils EIGENE Location speichern.

$
0
0

Ich bin seit ca. einer Woche (als absoluter Neuling) dabei mich mit Powershell zu beschäftigen, habe sogar mein erstes Programm zum Mergen diverser CSV Dateien inkl. GUI geschrieben und mich nervt nun ein allerletztes Problem.

"System.Windows.Forms.OpenFileDialog" speichert den Pfad zu den zuletzt ausgewählten Dateien wie gewünscht. Rufe ich anschließend "System.Windows.Forms.SaveFileDialog" auf, ist dort der Pfad aus "System.Windows.Forms.OpenFileDialog" hinterlegt und umgekehrt.

Ich würde gerne für jeden Dialog einen eigenen Pfad speichern lassen um jeweils einen Quell und Zielordner hinterlegt zu haben. Ich habe schon mit dem Parameter "RestoreDirectory" herumgespielt aber dieser scheint keine Auswirkung zu haben (ist momentan auskommentiert, da keine Funktion).

Anbei ein Ausschnitt des ganzen:

$QuelleAngeben_Click =
{
        # Quellordner + Dateien auswählen & einlesen. Auswahl an $FileBrowser übergeben
        $FileBrowser = New-Object System.Windows.Forms.OpenFileDialog -Property @{
        #RestoreDirectory = $false
        Multiselect         = $true
        #InitialDirectory = 'file:\\'
        Filter             = 'CSV (*.csv)|*.csv'
        Title             = 'Quelldateien auswählen - Mehrfachauswahl nötig!'
    }

        # Fenster Anzeigen + Dateiauswahl-Check
        $check = $FileBrowser.ShowDialog()

        if ($check -eq "CANCEL")
        {
        }
    
        else
        {
            # Inhalt von $FileBrowser in $GlobalInputFile schreiben
            $Global:InputFile += $FileBrowser.FileNames

            # Dateiauswahl in Textbox anzeigen
            $TextTemp = $FileBrowser.FileNames

            foreach ($File in $TextTemp)
            {
                $textbox1.AppendText($File)
                $textbox1.AppendText("`r`n")
            }
        }
}
    
    
$ZielAngeben_Click=
{

    # Variable zurücksetzen
    $Global:OutputFile = $NULL
        
    # Zielordner + Zieldatei festlegen. Auswahl an Variable $OutputFile übergeben
    $SetBackupLocation = New-Object System.Windows.Forms.SaveFileDialog -Property @{
    #RestoreDirectory = $false
    #InitialDirectory = 'file:\\'
      DefaultExt         = "csv";
      Filter             = 'CSV (*.csv)|*.csv'
      Title             = 'Zielordner und Zieldatei festlegen!'
    }
        
    # Fenster Anzeigen
    $SetBackupLocation.ShowDialog()
    
    # Variable $SetBackupLocation in Tempdatei schreiben
    $Global:OutputFile = $SetBackupLocation.FileName
        
    # Zielpfad in Textbox anzeigen
    $textbox2.Text = $Global:OutputFile
}


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>