Jokerzeichen in Pfadangabe?

Antworten
Genius
Beiträge: 28
Registriert: 10 Mär 2009, 10:07

Jokerzeichen in Pfadangabe?

Beitrag von Genius »

Hallo,

gibt es eigentlich ein Jokerzeichen für Pfadangaben?

Oder kennt jemand alternativen, um in Verzeichnisse mit unterschiedlichen Versionsnummern reinzukommen?
Konkret geht es um folgendes: C:\Programme\gs\gs8.70\
Ich weiß leider nicht, wieviele unterschiedliche Versionen bei uns installiert sind, weshalb ich versuche, alles mit einem Jokerzeichen unter den Hut zu bringen.

C:\Programme\gs\gs*\ geht leider nicht.

Würde mich über Antworten frauen.

Viele Grüße
Patrick
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: Jokerzeichen in Pfadangabe?

Beitrag von d.oertel »

Hi,

da kommt es ein wenig auf den Kontext an.
In Files-Sektionen gibt es Jokerzeichen bei der Angabe der Quelle (siehe Winst-Handbuch),
ansonsten nicht.
Man könnte per DosInAnIcon abfragen was da ist und das Ergebnis in eine Stringliste leiten die man dann untersucht.....

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


heuft_kdi
Beiträge: 64
Registriert: 02 Jul 2008, 08:06

Re: Jokerzeichen in Pfadangabe?

Beitrag von heuft_kdi »

Da ich auch schon vor dem Fall stand, das ich nicht wuste, welche GS Version den nun im Einsatz ist, habe ich mir einfach folgendes gebastelt:

Code: Alles auswählen

[Aktionen]
DefVar $OS$
DefVar $NTVer$
DefVar $GS_Version$
DefVar $GS_Akt_Version$
DefVar $GS_Akt_Installed$
DefStringList $GS_Version_List$

set $OS$ = GetOS
set $NTVer$ = GetNTVersion
set $GS_Akt_Version$="8.62"
set $GS_Akt_Installed$="0"
set $GS_Version_List$ = createStringList('8.50','8.54','8.56','8.57','8.60','8.61','8.62')

requiredWinstVersion >= "4.6"

; is this a win32 system ?
if ( $OS$ = "Windows_NT" ) and ( $NTVer$ = "WinXP" )

        for $v$ in $GS_Version_List$ do sub_check_gs_version
        if not ($GS_Akt_Installed$ = "1")
            Message=Installiere Ghostscript 8.62
            Files_copy_ghostscript
            Registry_install_ghostscript
            Message=
        endif

endif
        
[sub_check_gs_version]
set $GS_Version$ = "$v$"
winbatch_check_gs_version
if (GetLastExitCode = "1")
    if not ($GS_Akt_Version$ = $GS_Version$)
        if (FileExists ("%ProgramFilesDir%\gs\gs" + $GS_Version$))
            Message=Entferne Ghostscript $GS_Version$
            Files_remove_gs
            DosInAnIcon_remove_gs
            Message=
        endif
        if (FileExists ("%ProgramFilesDir%\gs\fonts"))
            Message=Entferne Ghostscript Fonts
            Files_remove_gsfonts
            DosInAnIcon_remove_gsfonts
            Message=
        endif
    else
        set $GS_Akt_Installed$="1"
    endif
endif

[Registry_install_ghostscript]
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\GPL Ghostscript\8.62]
set "GS_DLL" = "%ProgramFilesDir%\gs\gs8.62\bin\gsdll32.dll"
set "GS_LIB" = "%ProgramFilesDir%\gs\gs8.62\lib;%ProgramFilesDir%\gs\fonts;%ProgramFilesDir%\gs\gs8.62\Resource;%Systemroot%\fonts"
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript 8.62]
set "DisplayName" = "GPL Ghostscript 8.62"
set "UninstallString" = '%ProgramFilesDir%\gs\uninstgs.exe "%ProgramFilesDir%\gs\gs8.62\uninstal.txt"'
OpenKey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript Fonts]
set "DisplayName" = "GPL Ghostscript Fonts"
set "UninstallString" = '%ProgramFilesDir%\gs\uninstgs.exe "%ProgramFilesDir%\gs\fonts\uninstal.txt"'

[winbatch_check_gs_version]
%SCRIPTPATH%\files\FreePDFXP\fpsetup.exe /IsGhostScriptInstalled $GS_Version$

[Files_copy_ghostscript]
copy -se "%SCRIPTPATH%\files\gs\*.*" "%ProgramFilesDir%\gs"

[Files_remove_gs]
delete -sf "%ProgramFilesDir%\gs\gs$GS_Version$"

[Files_remove_gsfonts]
delete -sf "%ProgramFilesDir%\gs\fonts"
Im großen und ganzen prüfe ich nur auf die bekannten Versionen die es von Ghostscript gab. Beim Tool FreePDF (Aus dem Installationsskript für dieses Tool stammt auch dieser Ausschnitt) ist nun ein Tool dabei, was prüfen kann ob die entsprechende Ghostscript Version vorhanden ist.
Mann könnte natürlich auch auf das Vorhanden sein einer bestimmten Datei (uninstall.txt oder bin\gswin32.exe) prüfen. Ich hoffe, der Ansatz hilft.
Mit freundlichen Gruß
Kai Dietrich
Antworten