Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
Moderators: Hacker, Stefan2, white
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
2tuska
Es hat keinen Sinn, etwas an meinem Code zu ändern. Wissen Sie, wie Sie den kopierten Buttoncode über das Kontextmenü in Buttonbar einfügen? Sie müssen nichts anderes tun. Man kann nicht den gesamten Befehl im ersten Feld zu platzieren — das ist ein Fehler.
P. S. %WL im zweiten Feld bezieht sich auf die allgemeine Überprüfung, nicht auf den spezifischen Code. Wir kehren nicht mehr dazu zurück.
Es hat keinen Sinn, etwas an meinem Code zu ändern. Wissen Sie, wie Sie den kopierten Buttoncode über das Kontextmenü in Buttonbar einfügen? Sie müssen nichts anderes tun. Man kann nicht den gesamten Befehl im ersten Feld zu platzieren — das ist ein Fehler.
P. S. %WL im zweiten Feld bezieht sich auf die allgemeine Überprüfung, nicht auf den spezifischen Code. Wir kehren nicht mehr dazu zurück.
Overquoting is evil! 👎
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
Meine laienhafte Versuche an einem Code etwas zu ändern beginnen manchmal dann, wenn ein Code nicht das erwartete Ergebnis bringt.Fla$her wrote: 2023-03-29, 00:03 UTC 2tuska
Es hat keinen Sinn, etwas an meinem Code zu ändern.
Wissen Sie, wie Sie den kopierten Buttoncode über das Kontextmenü in Buttonbar einfügen? Sie müssen nichts anderes tun.
Man kann nicht den gesamten Befehl im ersten Feld zu platzieren — das ist ein Fehler.
Mir ist bekannt wie man einen Buttoncode in die Buttonbar einfügt.
Ich halte jetzt folgendes fest:
Der hier verlautbarte Code: "Zuletzt geändert von Fla$her am 29.03.2023 1:04, insgesamt 2-mal geändert."
funktioniert bei mir NICHT unter Windows 11 Pro (x64) Version 22H2 (OS build Build 22621.1413) und TC 10.52 x64/x86.
Ich erhalte jetzt wieder die Fehlermeldung, die ich bereits beim ersten Test hatte:
Code: Select all
Zeile: 1
Zeichen: 134
Fehler: Hexadezimalziffer erwartet
Code: 0
URL:
weiterhin nach einer dritten Lösung zu suchen, wenn ohnehin bereits zwei perfekte Lösungen vorhanden sind.
Zumindest meine Geduld bezüglich weiterer Tests erschöpft sich langsam.
Vielleicht könnte aber auch jemand anderer mit einer anderen Windows Version den Code einmal antesten?
(Copy/paste Buttoncode u. Klick auf Button u. Strg+V reicht ja bereits).
Vom Threadstarter hat man bis jetzt nichts mehr gelesen...
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
2tuska
Leider habe ich keine Erfahrung mit Windows 11, daher habe ich keine Ahnung, wie js in mshta sonst funktionieren könnte.
Und ich habe ein Beispiel gegeben, um nur zusätzliche oder fehlende Dienstprogramme auszuschließen, damit der Code auch unter XP funktioniert.
Leider habe ich keine Erfahrung mit Windows 11, daher habe ich keine Ahnung, wie js in mshta sonst funktionieren könnte.
Und ich habe ein Beispiel gegeben, um nur zusätzliche oder fehlende Dienstprogramme auszuschließen, damit der Code auch unter XP funktioniert.
Overquoting is evil! 👎
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
Dieser Code von oben funktioniert bei mir auf Win11
Fla$her wrote: 2023-03-28, 15:56 UTC Last edited by Fla$her on Wed Mar 29, 2023 1:04, edited 2 times in total.
Ein weiteres Beispiel, nur für den Fall:Code: Select all
TOTALCMD#BAR#DATA mshta.exe "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){clipboardData.setData('text', openTextFile(getSpecialFolder(2)+'\\'+'%WL'.replace(/.+(?=CMD\w+\.tmp$)/,''),1,0,-1).readAll().slice(0,-2).replace(/\\/g,'/'))};close()" wcmicon2.dll,45 Die vollständigen Dateinamen mit '/' kopieren 1
Der Teil mit "openTextFile" und "'%WL'" steht dabei in der Parameterzeile und dadurch wird auch der TC-Parameter '%WL' von TC aufgelöst.
Code: Select all
Kommando: mshta.exe "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){clipboardData.setData('text',
Parameter: openTextFile(getSpecialFolder(2)+'\\'+'%WL'.replace(/.+(?=CMD\w+\.tmp$)/,''),1,0,-1).readAll().slice(0,-2).replace(/\\/g,'/'))};close()"
Startpfad:
Icondatei: wcmicon2.dll , 45
Tooltip: Die vollständigen Dateinamen mit '/' kopieren
Das Kommando wird vom TC ja sowieso mit dem Parameter zu einer einzigen langen Kommandozeile zusammengesetzt,
somit kann die Trennung von Kommando und Parameter manchmal fließend sein, und man kann es auch so aufteilen:
Kommando: mshta.exe
Parameter: "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){clipboardData.setData('text',openTextFile(getSpecialFolder(2)+'\\'+'%WL'.replace(/.+(?=CMD\w+\.tmp$)/,''),1,0,-1).readAll().slice(0,-2).replace(/\\/g,'/'))};close()"
Das Beispiel (mit cm_CopyFullNamesToClip kopiert)
C:\Windows\System32\WindowsPowerShell\v1.0\Examples\profile.ps1
wird durch diesen Button kopiert als:
C:/Windows/System32/WindowsPowerShell/v1.0/Examples/profile.ps1
Ich glaube, ein PowerShell-Beispiel gab es hier noch nicht:
Code: Select all
TOTALCMD#BAR#DATA
powershell
TYPE '%WL' | Foreach{$_ -Replace [regex]::escape('\'), '/'} | clip
C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
TYPE '%WL' | Foreach{$_ -Replace [regex]::escape('\'), '/'} | clip
0
-1
und ein AutoHotkey-Beispiel fehlt auch noch...
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
2Stefan2
Danke für das testen des Codes von User Fla$her!
Ich kann mir nicht erklären, warum dieser Code hier bei mir nicht funktioniert (betrachte das Thema aber als erledigt für mich).
Dein PowerShell-Beispiel funktioniert bei mir perfekt mit "set-clipboard" (bei "clip" nur ohne Unicode-Unterstützung).
Ich schlage daher vor, dass Du den Code von clip auf set-clipboard änderst.
Danke für das testen des Codes von User Fla$her!
Ich kann mir nicht erklären, warum dieser Code hier bei mir nicht funktioniert (betrachte das Thema aber als erledigt für mich).
Dein PowerShell-Beispiel funktioniert bei mir perfekt mit "set-clipboard" (bei "clip" nur ohne Unicode-Unterstützung).
Ich schlage daher vor, dass Du den Code von clip auf set-clipboard änderst.
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
Tja, das ist nicht immer sooo einfach,tuska wrote: 2023-03-29, 09:48 UTC Dein PowerShell-Beispiel funktioniert bei mir perfekt mit "set-clipboard" (bei "clip" nur ohne Unicode-Unterstützung).
Ich schlage daher vor, dass Du den Code von clip auf set-clipboard änderst.
das "set-clipboard" gibt es bei älteren PowerShell-Versionen nicht standardmäßig,
(man benötigte die Pscx - PowerShell Community Extensions, und da hieß der Befehl "Out-Clipboard")
somit bekämen die Kollegen dort dann eine Fehlermeldung beim Test dieses Codes

EDIT:
https://www.windowspro.de/script/get-set-clipboard-daten-ueber-zwischenablage-kopieren-powershell
Die in Windows 10 und Server 2016 enthaltene PowerShell 5.0 bringt einige neue Utilities, . . . .
. . . . Dem Datenaustausch über die Zwischenablage dienen die Cmdlets Get-Clipboard und Set-Clipboard. . . .
Re: Kopiere Namen mit Pfad in Zwischenablage mit '\', '\\' oder '/'
Ahh, OK, danke für die InfoStefan2 wrote: 2023-03-29, 09:54 UTCTja, das ist nicht immer sooo einfach,tuska wrote: 2023-03-29, 09:48 UTC Dein PowerShell-Beispiel funktioniert bei mir perfekt mit "set-clipboard" (bei "clip" nur ohne Unicode-Unterstützung).
Ich schlage daher vor, dass Du den Code von clip auf set-clipboard änderst.
das "set-clipboard" gibt es bei älteren PowerShell-Versionen nicht standardmäßig,
somit bekämen die Kollegen dort dann eine Fehlermeldung beim Test dieses Codes![]()

Du merkst schon, hier spricht der Laie

Bisherige Lösungen:
- Lst2Clip.exe (ohne Unicode)
- CopyFullNamesWithSlash.vbs (mit Unicode)
- lst2clip-u.exe (mit Unicode)
- mshta.exe "javascript..." (mit Unicode) - funktioniert in Windows 11 bei Stefan2 (nicht bei mir unter Windows 11 Pro)
- PowerShell (mit Unicode)