Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

powershell aufrufen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hge2001



Anmeldungsdatum: 26.02.2008
Beiträge: 17

BeitragVerfasst am: 02.04.2021, 16:59    Titel: powershell aufrufen Antworten mit Zitat

Hallo,

In den letzten Tagen hatte ich das Problem, dass meine Bank nur .xlxs statt wie vorher .csv erstellte. Nun kann man leicht mit excel die Datei einlesen und als .csv abspeichern. Das ist aber auf die Dauer unpraktisch, daher habe ich mich im Netz mal nach einer Lösung umgeschaut. Ich stieß auf powershell, dass schon etliche Jahre im Windows schlummert und mit dem man tolle Sachen machen kann; es ist aber wesentlich komplexer als die command shell, die wir alle kennen.


Mit folgendem Powershellscript lässt sich eine .xlxs Datei batchmäßig in eine csv datei umwandeln.


script PS1.PS1

Code:
function Get-ScriptDirectory {
    $Invocation = (Get-Variable MyInvocation -Scope 1).Value
    Split-Path $Invocation.MyCommand.Path
}
$PA = Get-ScriptDirectory
$PA = $PA + "\"
$xlCSV = 6
$Excel = New-Object -Com Excel.Application
$Excel.visible = $False
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open($PA + "BARKDK.xlsx")
$Workbook.SaveAs($PA + "BARKDK.csv",$xlCSV)
$Excel.quit()


Mit Click auf das Script (als Administrator) lässt sich dieses ps1.ps1 schon mal ausführen. Das war mir aber zu unpraktisch, daher habe ich eine Möglichkeit gesucht, es direkt aus FB auszuführen. mit diesem Code ging es dann.

Code:
dim as string s,p,ap=""""
P=Curdir
S =  " PowerShell.exe -ExecutionPolicy BYPASS -Command "
S = S + AP +"& '" + P + "\PS1.ps1'" +AP
Shell (S)


Ich möchte betonen, dass ich kein Experte in Powershell bin; vielleicht lässt sich am o.a. Code was optimieren. Aber ich bin mit der Lösung erstmal zufrieden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz