Hilfsprogramm Shortcut

Aktuelle Version: 12.7 (23.11.2017)
Alles zum Thema Directory Opus
josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Hilfsprogramm Shortcut

Beitrag von josinoro » 5. Jul 2014 21:18

Hallo Listlinge,

in einem Beitrag ist von dem Tool ShortCut die Rede. Da ich einige Schalter eingebunden habe, die dieses Tool nutzen, muss ich die Pfade entsprechend ändern.

Alle Hilfsprogramme habe ich in das Verzeichnis
C:\Users\xx\AppData\Roaming\GPSoftware\Directory Opus\UserCommands\
in entsprechende Unterverzeichnisse kopiert. Für ShortCut also:
C:\Users\xx\AppData\Roaming\GPSoftware\Directory Opus\UserCommands\ShortCut.

Mein Installationsverzeichnis für den Directory Opus ist D:\Dateimanager\DirectoryOpus\

Nun möchte ich den Schalter benutzen, welcher die in einer Verknüpfung genannten Datei in den Ziellister kopiert.

Der angepasste Schaltercode sieht wie folgt aus:

nodeselect
@runmode hide
cmd /K FOR %%a in ({allfile}) do for /f "Tokens=1* Delims==" %%b in ('{alias|dopusdata}\UserCommands\Shortcut\shortcut.exe /F:%%a /a:q^|find "TargetPathExpanded"') do "D:\Dateimanager\DirectoryOpus\dopusrt.exe" /cmd copy "%%c" TO={destpath} WhenExists=rename


leider funktioniert der nicht. Rufe ich lediglich mittels des Schaltercodes das Programm ShortCut auf, erscheint richtigerweise kurz das DOS-Fenster. Also bin ich schon einmal im richtigen Verzeichnis. Der "Wurm" muss also vermutlich in den übergebenen Parametern liegen.

Weiss jemand Rat?

MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 6. Jul 2014 00:42

Hallo josinoro,

ich habe einmal testhalber die shortcut.exe in's Temp Verzeichnis kopiert und damit deinen "Button" getestest.
Es müßte eigentlich funktionieren.

Code: Alles auswählen

@echo off

For %%a IN ({allfilepath}) DO (
	For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
		echo Copy "%%b" %temp%\a
	)
)

pause
Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 6. Jul 2014 21:15

Hallo wazlaf,

vielen Dank für Deine schnelle Antwort.
wazlaf hat geschrieben: Es müßte eigentlich funktionieren.
obwohl ich das Programm ebenfalls in das Temp-Verzeichnis kopiert habe, um am Quellcode nichts ändern zu müssen, funktioniert das bei mir leider nicht.

MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 7. Jul 2014 06:48

Hallo josinoro,

was kommt denn so eine Fehlermeldung?

Es müßte eigntlich ein CMD Fenster wie im Anhang beigefügt erscheinen, wenn das "echo" entfernt wird
müßte eigenlich auch kopiert werden, habe es bisher nicht ohne echo probiert.

(sehe gerade das auch noch als Ziel %Temp%\a eingetragen ist, es sollte ja eingentlich {destpath} /y lauten.
Mit dem Parameter /y wird allerdings überschrieben für copy gibt es leider keinen rename Parameter mit dopusrt.exe habe ich es nicht pobiert.)

echo Copy "%%b" {destpath} /y

Vielen Dank für Deine Rückmeldung

Freundliche Grüße
wazlaf
Dateianhänge
cmd.png
cmd.png (4.92 KiB) 2337 mal betrachtet

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 7. Jul 2014 16:30

Hallo wazlaf,
wazlaf hat geschrieben: was kommt denn so eine Fehlermeldung?
es erscheint gar keine Fehlermeldung. Auch habe ich den Eindruck, dass noch nicht einmal ein DOS-Fenster aufgeht, was man bei meinem langsamen Rechner eigentlich bemerken müsste.

Hier der von mir abgeänderte Quellcode:

Code: Alles auswählen

@echo off

For %%a In ({allfilepath}) Do (
   For /f "Tokens=2* Delims==" %%b In ('/dopusdata\UserCommands\Shortcut\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
      echo Copy "%%b" {destpath} /y
   )
)

pause
MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 7. Jul 2014 16:50

Hallo josinoro,

hast Du es einmal mit meinen Code probiert und dabei die Shortcut.exe in's Temp Verzeichnis kopiert?

Der Pfad zu /dopusdata\UserCommands\Shortcut\Shortcut.exe enthält Leerzeichen was die Sache leider erschwert (Stichwort: usebackq)

Wichtig ist auch das beim Button die "Funktion: MS-DOS Batch-Funktion" ausgewählt ist.

Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 8. Jul 2014 14:13

Hallo wazlaf,

danke für Deine Mühe.
wazlaf hat geschrieben: Wichtig ist auch das beim Button die "Funktion: MS-DOS Batch-Funktion" ausgewählt ist.
das war in der Tat eine Fehleinstellung von mir. Nach Änderung bin ich also einen Schritt weiter. Kopiere ich das Programm Shortcut in ein anderes Verzeichnis, also ohne Leerzeichen, tut sich auch etwas. Mir sagt das von Dir angesprochene Problem useback leider nichts.

Nun habe ich erneut deine Pfade in Temp benutzt und den Quellcode unverändert von Dir eingefügt.
Allerdings wird im Zielverzeichnis nur eine Batchdatei erzeugt, die fast so ähnlich ist, wie der von Dir angegebene Quellcode:

Code: Alles auswählen

@echo off
chcp 1252 > nul
E:
cd "\__Vertrieb"
For %%a IN ( E:\__Test\DieDatei.lnk) DO (
For /f "Tokens=2* Delims==" %%b IN ('C:\Users\xx\AppData\Local\Temp\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
echo Copy "%%b" C:\Users\xx\AppData\Local\Temp\a
)
)

pause
MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 8. Jul 2014 15:11

Hallo josinoro,

vielen Dank für die Rückmeldung.

Das mit der Batch im Temp Ordner ist soweit in Ordnung. DOpus legt eine temporäre Batch an und führt diese dann entsprechend aus, ich glaube das hat damit zutun das man DOS und DOpus Befehle in einer Batch praktisch msichen kann.
Anbei ein Auszug aus der Hilfe dazu:

Code: Alles auswählen

When you run an MS-DOS batch function, Opus actually creates a temporary batch file on disk, and writes your instructions to it before invoking it. If you were to look at the batch file created by the above function, you would see something similar to the following:

 @echo offchcp 1252 > nulC:cd "\Users\Jon\Documents"dir /w > "C:\Test\Documents.txt"
In der von Dir geposteten Batch steht noch der echo Befehl vor dem eigentlichen kopieren, dieses echo muß gelöscht werden.

Die entsprechende Zeile sollte wie folgt aussehen:

Code: Alles auswählen

Copy "%%b" {destpath} /y
Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 8. Jul 2014 16:52

Hallo wazlaf,

den von Dir beschriebenen Quellcode habe ich jetzt wie folgt geändert:

Code: Alles auswählen

@echo off

For %%a IN ({allfilepath}) DO (
   For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO 
   (
      Copy "%%b" %temp% /y
   )
)

pause
Das führt zu folgender Fehlermeldung:
08-07-2014 16-46-48.png
08-07-2014 16-46-48.png (19.37 KiB) 2302 mal betrachtet
Hast Du denn den Quellcode bei Dir schon einmal positiv getestet?

MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 8. Jul 2014 17:19

Hallo josinoro,

ja dabei trat der gleiche Fehler auch einmal auf, danach dann allerdings nicht mehr. Dachte zuerst es liegt evtl. daran das DOpus die Variablen nicht "richtig" auflöst und habe deshalb mit dem Parameter "Setlocal EnableDelayedExpansion" experimentiert. Aber auch ohne diesen Parameter läuft es inzwischen. Mir ist allerdings aufgefallen das die MS-DOS Batch-Funktion sehr unzuverlässig läuft ein Leerzeichen zu viel eine Klammer an der falschen Stelle und der Code wird nicht ausgeführt. Die Orginal CMD Umgebung führt den Code hingegen Problemlos aus. Ich habe dazu z. B. auch eine Anfrage unter folgendem Thread laufen.
Bei Deinem Code ist mir z. B. aufgefallen das die Klammer der zweiten For Schleife falsch sitzt evtl. liegt es daran.

Wenn Du Lust hast kannst Du ja nochmals eine der beiden Versionen probieren. Falls nicht habe ich inzwischen auch eine Version für VBS gebastelt evtl. möchtest Du ja einma diese probieren.
Dazu muß allerdings beim Button "Funktion: Scriptfunktion" eingestellt werden.

Code: Alles auswählen

Setlocal EnableDelayedExpansion

@echo off

For %%a IN ({allfilepath}) DO (
	For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
	echo Copy "%%b" {destpath} /y   	
      	Copy "%%b" {destpath} /y
   )
)

Endlocal

pause

Code: Alles auswählen

@echo off

For %%a IN ({allfilepath}) DO (
	For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
      		Copy "%%b" "{destpath}" /y
	)
)

Code: Alles auswählen

@nodeselect
@script vbscript

Option Explicit

Dim quote
quote = """"

Function OnClick(ByRef ClickData)	
	Dim files
	Set files = ClickData.Func.Command.SourceTab.Selected

	Dim DestPath
	Set DestPath = ClickData.Func.Command.DestTab.Path

	Dim file, file1, prg, prg2

	prg = GetEnv("APPDATA") & "\GPSoftware\Directory Opus\UserCommands\ShortCut\ShortCut.exe"
	Dim args1, args2, args3, s
	
	For Each file In files
		If UCase(Right(file, 3)) = "LNK" Then 
			DOpus.Output UCase(Right(file, 3)) & " = " & file
			args1 = " /F:" &_ 
			quote &_
			file &_
			quote &_
			" /a:q"
	
			args2 = " >"
	
			args3 = GetEnv("TEMP") & "\ShortCut.txt"
	
			prg2 =  quote & prg & quote & args1 & args2 & args3
	
			RunCmd prg2
			file1 = GetFile(args3)
			DOpus.Output file1
	
			s = "Copy " & quote & file1 & quote & " To " & quote & DestPath & quote & " WHENEXISTS=rename"
			clickData.func.command.deselect = False
			ClickData.Func.Command.RunCommand(s)
		End If
	Next
End Function

Function GetEnv(ByVal var)
	Dim WshShell, s
	
	Set WshShell = CreateObject("WScript.Shell")
	
	s = WshShell.ExpandEnvironmentStrings(quote & "%" & var & "%" & quote)
	s = Left(s, Len(s) - 1)
	s = Right(s, Len(s) - 1)

	GetEnv = s
End Function

Sub  RunCmd(ByVal prg)
	Dim WshShell, objFSO, s

	DOpus.Output "RunCmd = " & prg
	
	Set WshShell = CreateObject("WScript.Shell")
	WshShell.run "cmd.exe /c " & quote & prg & quote, 0, True
End Sub

Function GetFile(ShortCut)
	Dim objFSO, objTest, objFile, s, file, arr
	file = ""

	Const ForReading = 1
	
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objTest = objFSO.GetFile(ShortCut)
		
	If objTest.Size > 0 Then
		Set objFile = objFSO.OpenTextFile(ShortCut, ForReading)
		
		Do While Not objFile.AtEndOfStream
			s = objFile.ReadLine
			
			'TargetPathExpanded=
			If InStr(1, s, "=") Then
				arr = Split(s, "=")
				
				If arr(0) = "TargetPathExpanded" Then
					file = arr(1)
					Exit Do
				End If
			End If
		Loop

		objFile.Close
	End If 
			
	GetFile = file
End Function
[Update]
Habe mir inzwischen Deinen Button-Code genauers angesehen.

1) Die Klammer der zweiten For Schleife bitte nach oben setzen direkt hinter das DO wie bei der ersten For Schleife
2) Bitte alle Leerzeichen direkt im Button Code am Beginn löschen und durch Tab's ersetzen.

Leerzeichen löschen wie im Beispiel

Code: Alles auswählen

@echo off

For %%a IN ({allfilepath}) DO (
For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
Copy "%%b" %temp%\abc /y
)
)

pause
Leerzeichen durch Tab's ersetzen

Code: Alles auswählen

@echo off

For %%a IN ({allfilepath}) DO (
	For /f "Tokens=2* Delims==" %%b IN ('%Temp%\Shortcut.exe /F:%%a /a:q ^| Find "TargetPathExpanded"') DO (
		Copy "%%b" %temp%\abc /y
   	)
)

pause

Vielen Dank für's testen.

[/Update]

Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 9. Jul 2014 14:06

Hallo wazlaf,
Vielen Dank für's testen.
vielen Dank für's coden.

Die MS-DOS Batch-Funktion funktioniert. Bei dem VB-Script wird lediglich die Verknüpfung selbst kopiert. Favorisieren würde ich allerdings das VB-Script, da ich dort den Pfad meiner aufzurufenden Hilfsprogramme einfacher selbst bestimmen könnte.

Mir erschliesst sich nicht, warum Du den Pfad und Dateinamen extra über die Funktion getenv ermitteln musst, wo du erst " hinzufügst und dann wieder löscht.

Wenn Du immer noch Lust und Zeit hast, kannst du die Möglichkeit schaffen, als Ziel die Orte in den anderen Schaltern zu definieren?
Verknüpfungsziel.zip
(1.76 KiB) 58-mal heruntergeladen
MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 9. Jul 2014 14:43

Hallo josinoro,

freut mich wenn die MS-DOS Batch nun funktioniert.
Bei dem VB-Script wird lediglich die Verknüpfung selbst kopiert.
Das liegt daran wenn der Pfad zur Shortcut.exe nicht gefunden wird.
Der Pfad dazu ist in folgender Code-Zeile hinterleget:

Code: Alles auswählen

   prg = GetEnv("APPDATA") & "\GPSoftware\Directory Opus\UserCommands\ShortCut\ShortCut.exe"
Dieser Pfad muß entsprechend angepasst werden. Mit GetEnv wird die entsprechende Umgebungsvariable (hier: APPDATA) aufgerufen und dann wird der restliche Pfad zur ShortCut.exe hinzugefügt.
Hier zum Beispiel:
C:\Users\UserName\AppData\Roaming & "\GPSoftware\Directory Opus\UserCommands\ShortCut\ShortCut.exe"

Wenn bei Dir die ShortCut.exe z. B. direkt im Temp Ordner liegt lautet der Aufruf entsprechend

Code: Alles auswählen

   prg = GetEnv("TEMP") & "\ShortCut.exe"
oder ein fixer Pfad

Code: Alles auswählen

   prg = "Q:\MeineTools\ShortCut\ShortCut.exe"
Mir erschliesst sich nicht, warum Du den Pfad und Dateinamen extra über die Funktion getenv ermitteln musst, wo du erst " hinzufügst und dann wieder löscht.
Was meinst Du mit
wo du erst " hinzufügst und dann wieder löscht.
Wenn Du immer noch Lust und Zeit hast, kannst du die Möglichkeit schaffen, als Ziel die Orte in den anderen Schaltern zu definieren?
Schaue ich mir mal in einer ruhigen Minute an.

Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 9. Jul 2014 16:09

Hallo wazlaf,

jetzt geht auch das VB-Script. Ich hatte so viel probiert und unter anderem die Hilfsprogramme in das DOpus-Installationsverzeichnis kopiert, dass ich tatsächlic den Ordner usercomands leer hatte. Am liebsten hätte ich meine Hilfsprogramme in dem Verzeichnis
<DOpus-Installationsverzeichnis>/Hilfsprogramme, weil ich nach Möglichkeit versuche, das System mit seinen Dateien von den Programmen und den Daten zu trennen.

In DOpus ist es ja möglich, mit /dopusdata\UserCommands\Programm\Programm.exe ein Programm korrekt aufzurufen.
Auch programfiles\Programm\Programm.exe oder {alias|home}\Programm\Programm.exe habe ich schon gesehen und nutze diese Angaben auch, um die Symbole der Schalter in einem Verzeichnis zu halten. Sind diese Pfade so oder ähnlich auch mittels VB-Script aufrufbar?

Nochmals herzlichen Dank.

MfG

josinoro

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von wazlaf » 9. Jul 2014 18:27

Hallo josinoro,
josinoro hat geschrieben:In DOpus ist es ja möglich, mit /dopusdata\UserCommands\Programm\Programm.exe ein Programm korrekt aufzurufen.
Auch programfiles\Programm\Programm.exe oder {alias|home}\Programm\Programm.exe habe ich schon gesehen und nutze diese Angaben auch, um die Symbole der Schalter in einem Verzeichnis zu halten. Sind diese Pfade so oder ähnlich auch mittels VB-Script aufrufbar?
Auf die schnelle habe ich folgendes gefunden:

Code: Alles auswählen

DOpus.FSUtil.Resolve
Wenn der VBS-Code wie rot markiert geändert wird müßte es damit klappen.

Code: Alles auswählen

prg = GetEnv([color=red]"/dopusdata"[/color]) & "\UserCommands\ShortCut\ShortCut.exe"

Function GetEnv(ByVal var)
	Dim WshShell, s
	
	Set WshShell = CreateObject("WScript.Shell")
	
	s = WshShell.ExpandEnvironmentStrings(quote & "%" & var & "%" & quote)
	s = Left(s, Len(s) - 1)
	s = Right(s, Len(s) - 1)
[color=red]
	If s = "%" & var & "%" Then
		  s = DOpus.FSUtil.Resolve(var)
	End If
[/color]
	GetEnv = s
End Function
Freundliche Grüße
wazlaf

josinoro
Beiträge: 166
Registriert: 4. Aug 2013 19:58
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 9. Jul 2014 23:05

Hallo wazlaf,

dein Code funktioniert super!

Nun habe ich den Code soweit an meine Pfade angepasst, dass ich alle Hilfsprogramme für den DOpus im
DOpus-Installationsverzeichnis\Hilfsprogramme belassen kann, welches auf Partition D:\ liegt.
Damit ist auch dies Programm von der Partition C:\ weg und vor einem crash weitesgehend geschützt. Ausserdem kann ich so sehr viel einfacher die zusätzliche Funktionalität der Zusatzprogramme auf meinen Laptop bringen oder meine Konfiguration weiter geben.

Hier der komplette angepasste Code:

Code: Alles auswählen

@nodeselect
@script vbscript

Option Explicit

Dim quote
quote = """"

'____________________________________________________________________


Function OnClick(ByRef ClickData)   
	Dim files
	Set files = ClickData.Func.Command.SourceTab.Selected

	Dim DestPath
	Set DestPath = ClickData.Func.Command.DestTab.Path

	Dim file, file1, prg, prg2

'	prg = GetEnv("APPDATA") & "\GPSoftware\Directory Opus\UserCommands\ShortCut\ShortCut.exe"
	prg = GetEnv("/home") & "\Hilfsprogramme\ShortCut\ShortCut.exe"

	Dim args1, args2, args3, s
   
	For Each file In files
		If UCase(Right(file, 3)) = "LNK" Then
			DOpus.Output UCase(Right(file, 3)) & " = " & file
			args1 = " /F:" &_
			quote &_
			file &_
			quote &_
			" /a:q"

			args2 = " >"

			args3 = GetEnv("TEMP") & "\ShortCut.txt"

			prg2 =  quote & prg & quote & args1 & args2 & args3

			RunCmd prg2
			file1 = GetFile(args3)
			DOpus.Output file1

			s = "Copy " & quote & file1 & quote & " To " & quote & DestPath & quote & " WHENEXISTS=rename"
			clickData.func.command.deselect = False
			ClickData.Func.Command.RunCommand(s)
		End If

	Next

End Function

'____________________________________________________________________


Function GetEnv(ByVal var)

	Dim WshShell, s
   
	Set WshShell = CreateObject("WScript.Shell")

	s = WshShell.ExpandEnvironmentStrings(quote & "%" & var & "%" & quote)
	s = Left(s, Len(s) - 1)
	s = Right(s, Len(s) - 1)

	If s = "%" & var & "%" Then
		s = DOpus.FSUtil.Resolve(var)
	End If

	GetEnv = s

End Function

'____________________________________________________________________


Sub  RunCmd(ByVal prg)

	Dim WshShell, objFSO, s

	DOpus.Output "RunCmd = " & prg

	Set WshShell = CreateObject("WScript.Shell")
	WshShell.run "cmd.exe /c " & quote & prg & quote, 0, True
	
End Sub

'____________________________________________________________________

Function GetFile(ShortCut)

	Dim objFSO, objTest, objFile, s, file, arr

	file = ""

	Const ForReading = 1

	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objTest = objFSO.GetFile(ShortCut)
  
	If objTest.Size > 0 Then
		Set objFile = objFSO.OpenTextFile(ShortCut, ForReading)

		Do While Not objFile.AtEndOfStream
			s = objFile.ReadLine

			'TargetPathExpanded=
			If InStr(1, s, "=") Then
				arr = Split(s, "=")

				If arr(0) = "TargetPathExpanded" Then
					file = arr(1)
					Exit Do

				End If

			End If

		Loop

		objFile.Close

	End If
         
	GetFile = file
	
End Function

'____________________________________________________________________
Wenn Du Zeit, Lust und immer noch ohne Entgeld bist, kannst Du Dir ja die anderen Anforderungen der anderen Schalter einmal ansehen, damit die auch für Ottonormaluser wie mich anpassbar werden.

MfG

josinoro

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste