Hilfsprogramm Shortcut

Aktuelle Version: 12.6 (09.06.2017)
Alles zum Thema Directory Opus
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 » 11. Jul 2014 15:42

Hallo josinoro,

anbei einmal eine neue Version mit den noch fehlenden Schaltern.
Da es sich bei den einzlnen Schalten ja großteils um den gleichen Code handelt habe ich mich entschieden ein Internes Kommando ($CopyLNK) zu erstellen anstatt für jden Button den beinahe gleichen Code zu verwenden.

Das Kommando $CopyLNK muß analog dem Kommand $FilterMenu aus folgendem Thread eingebunden werden.

Freundliche Grüße
wazlaf
Dateianhänge
Verknüpfungsziel.zip
(2.01 KiB) 47-mal heruntergeladen

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

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 12. Jul 2014 11:31

Hallo wazlaf,

das sieht für mich sehr beeindruckend aus, vor allem, wenn ich bedenke in welcher Zeit du das in die Tastatur takkerst.

Das Kommando $CopyLNK habe ich unter Skripts eingebunden (und ja, ich habe bemerkt, dass es sich um VB-Skript handelt ;-) ) und die Schalter habe ich platziert. Leider funktioniert das bei mir nicht. Ausserdem bin ich wieder an Laufwerk C:\ gebunden. Nun dachte ich, dass, wenn ich Zeile 45 deines Codes verändere,

Code: Alles auswählen

'	prg = GetEnv("/dopusdata") & "\UserCommands\ShortCut\ShortCut.exe"
	prg = GetEnv("/home") & "\Hilfsprogramme\ShortCut\ShortCut.exe"
es vielleicht dann funktionieren würde. Leider Fehlanzeige!

Das Programm Shortcut.exe wird anscheinend nicht gefunden. Ich erkenne keine Reaktion, ausser dass bei Aufruf von In Ordner "Datei" ein Verzeichnis erstellt wird. Bei Aufruf von In Ordner "Zwischenablage" erhalte ich die Fehlermeldung
12-07-2014 11-17-31.png
12-07-2014 11-17-31.png (30.63 KiB) 1100 mal betrachtet
wenn die Schreibweise des Pfades und/oder der Datei nicht korrekt ist (case sensitiv). Ist sie korrekt, wird lediglich ein Verzeichnis mit dem Namen des Inhaltes der Zwischenablage erstellt.

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 » 12. Jul 2014 13:26

Hallo josinoro,

ich habe zum testen in das Script einen Counter eingebaut welchen ich leider vergessen habe zu löschen.
Da das Script diesen Counter nicht mehr findet bricht es leider ab.

Zeilen 49 - 54 bitte löschen.

Code: Alles auswählen

DOpus.Output("*** Count Files = " & files.count)
DOpus.Output("*** File = " & file)
		
counter = counter + 1
DOpus.Output "*** Counter = " & counter		
Beim Aufruf In Ordner "Zwischenablage" wird ein Ordner erstellt mit einem Namen welcher aus der Zwischenablage kommt.
Die beigefügte Fehlermeldung kommt deshalb weil versucht wurde ein Ordner mit dem Nmaen ' prg = GetEnv("/dopusdata") & "\UserCommands\ShortCut\ShortCut.exe" zu erstellen. (Vermutlich war dies gerade der aktuelle Inhalt der Zwischenablage) Dieser Ordername ist aber wg. diversen ungültigen Zeichen nicht erlaubt.

Freundliche Grüße
wazlaf

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 » 12. Jul 2014 19:55

Hallo josinoro,,

bin gerade über eine einfachere Methode gestolpert. Müßte eigentlich wie die bisherige Methode funktionieren mit der Ausnahme das alle selektierten Files kopiert werden bei den LNK-Files dann allerdings das entsprechend hinterlegte File. Bei der bisherigen Lösung werden nur LNK-Files kopiert auch wenn andere Files mit markiert wurden.

Zum Ziellister

Code: Alles auswählen

@nodeselect
@filesonly
@resolvelinks

Copy {file} TO {destpath} WHENEXISTS=rename
Zum Desktop

Code: Alles auswählen

@nodeselect
@filesonly
@resolvelinks

Copy {file} TO /Desktop WHENEXISTS=rename
In Ordner "Zwischenablage"

Code: Alles auswählen

@nodeselect
@filesonly
@resolvelinks

@set Path={sourcepath}{clip}
CreateFolder "{$Path}" READAUTO=no nosel

Copy Filter {file} TO {$Path} WHENEXISTS=rename
In Ordner "Datei"

Code: Alles auswählen

@nodeselect
@filesonly
@resolvelinks

@set Path={sourcepath}{file|noext}
CreateFolder "{$Path}" READAUTO=no nosel

Copy {file} TO {$Path} WHENEXISTS=rename
Freundliche Grüße
wazlaf

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

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 12. Jul 2014 22:47

Hallo wazlaf,

für Heute bist Du mein Held! Alle Schalter funktionieren nach dem ersten Testen tadellos. Vielen Dank!

Sogar meinen Wunschpfad kann ich behalten. Die zweite Lösung habe ich bis jetzt noch nicht ausprobiert, da ich den Vorteil für mich nicht sehe. Die Schalter sind unter Verknüpfungsziel zusammengefasst und machen mit dem bestehenden Code für mich genau das, was sie mit den Verknüpfungen machen sollen. Ich werde mir auf alle Fälle die zweite Lösung bei Gelegenheit einmal anschauen.

Trotzdem vielen Dank, dass Du Dir soviel weiterreichende Gedanken machst.

MfG

josinoro

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

Re: Hilfsprogramm Shortcut

Beitrag von josinoro » 8. Jul 2017 20:15

Hallo Listlinge, hallo wazlaf,

aus irgend einem Grund funktionieren die Schalter nicht mehr. Es ist nichts daran geändert worden. Das einzige, was sich geändert hat sind die Directory Opus Versionen. Kann das jemand mit aktueller Version von DO bestätigen?

MfG

josinoro

Benutzeravatar
tbone
Berater
Beiträge: 394
Registriert: 22. Nov 2014 21:16
Betriebssystem: 7*64
Produkt: aktuelle Beta-Version
Version DOpus: Pro

Re: Hilfsprogramm Shortcut

Beitrag von tbone » 9. Jul 2017 11:22

Den Button soweit reduzieren bis er wieder funktionieren, d.h. z.B. alle "@" modifier entfernen, Platzhalter durch fixe Werte ersetzen.
So komplex sind die Codes ja nicht, das muss eigentlich funktionieren. Notfalls mit einem frischen Button beginnen oder mit einer Kopie des originalen Copy-Buttons. Kern-Feature hier, ist ja nur der "@resolvelinks" Modifier, den kannst Du ja leicht wieder hinzufügen.

Zum Thema passend streue ich mal eine kleine Funktion ein, die das jeweilige Ziel eines Shortcuts bzw *.lnk-Datei auflöst. Ich habe kurz in den Scriptcode geguckt der zuerst Verwendung fand, da sah ich das Auflösen der LNK-Files. Falls die Scripting Lösung nochmal relevant wird ist es hiermit vll etwas einfacher (und gleichzeitig habe ich die Zeilen mal online gesichert! o).

Code: Alles auswählen

function ResolveLNK(path){
	path = new String(DOpus.FSUtil.Resolve(path));
	return path.replace(/(.*?\.lnk)(\\|\/|$)/gi, function(m1,m2,m3){
			var shell = new ActiveXObject("WScript.Shell");
			return shell.CreateShortcut(m2).TargetPath+m3;})
}
LNK Link Shortcut Verknüpfung auflösen Ziel Script JScript Code Resolve Snippet Schnippsel

Antworten

Wer ist online?

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