hge2001
Anmeldungsdatum: 26.02.2008 Beiträge: 17
|
Verfasst am: 02.04.2021, 16:59 Titel: powershell aufrufen |
|
|
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. |
|