Verknüpfungen ohne Pfadangaben (relativer Pfad) auf USB Stick, egal welcher Laufwerksbuchstabe zugewiesen wurde
Hallo liebe Administrator(inn)en,
für folgendes Szenario, hätte ich gern eine elegante Lösung und hoffe ihr habt eine nette Idee:
ich möchte ein USB Stick mit Portablen Tools betanken, die in entsprechenden Verzeichnisen liegen.
In dem untersten Verzeichnis sollen Verknüpfungen liegen, die im entsprechenden Verzeichnis eine
exe starten, egal welcher Laufwerksbuchstabe dem Stick zugewiesen wurde.
Über ein paar Nachrichten würde ich mich sehr freuen.
für folgendes Szenario, hätte ich gern eine elegante Lösung und hoffe ihr habt eine nette Idee:
ich möchte ein USB Stick mit Portablen Tools betanken, die in entsprechenden Verzeichnisen liegen.
In dem untersten Verzeichnis sollen Verknüpfungen liegen, die im entsprechenden Verzeichnis eine
exe starten, egal welcher Laufwerksbuchstabe dem Stick zugewiesen wurde.
Über ein paar Nachrichten würde ich mich sehr freuen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 582018
Url: https://administrator.de/forum/verknuepfungen-ohne-pfadangaben-relativer-pfad-auf-usb-stick-egal-welcher-laufwerksbuchstabe-zugewiesen-wurde-582018.html
Ausgedruckt am: 22.12.2024 um 03:12 Uhr
25 Kommentare
Neuester Kommentar
Als portabler Starter mit auf den Stick
http://www.pegtop.net/start/
Oder eben über ne Batch den Buchstaben auf dem die Batch liegt auslesen
Und über einen Parameter das gewünschte Programm übergeben
Starten dann mit
http://www.pegtop.net/start/
Oder eben über ne Batch den Buchstaben auf dem die Batch liegt auslesen
%~d0
Und über einen Parameter das gewünschte Programm übergeben
@echo off
start "" "%~d0\%~1"
meinebatch.cmd "Subfolder\datei.exe"
Moin Moin,
%~d0 kannte Ich noch gar nicht, danke.
Ich arbeite meistens mit
Aber jetzt habe Ich etwas gespielt
Szenario:
CMD mit Admin Rechten spielt eine test.bat.
Die Ergebnisse sind:
Dies ist für mich und andere zur Info
Ich weiß jetzt noch nicht wozu und taugen, aber das bekomme Ich raus wenn Ich Zeit habe
Der Rest ist selbst redend meiner Meinung nach.
Just my Senf
Thomas
%~d0 kannte Ich noch gar nicht, danke.
Ich arbeite meistens mit
%~0
%~n0
Aber jetzt habe Ich etwas gespielt
Szenario:
CMD mit Admin Rechten spielt eine test.bat.
Die Ergebnisse sind:
echo %~0
::Ausgabe: c:\TMP-DATA>echo test.bat
echo %~a0
::Ausgabe: c:\TMP-DATA>echo --a--------
echo %~d0
::Ausgabe: c:\TMP-DATA>echo c:
echo %~f0
::Ausgabe: c:\TMP-DATA>echo c:\TMP-DATA\test.bat
echo %~n0
::Ausgabe: c:\TMP-DATA>echo test
echo %~p0
::Ausgabe: c:\TMP-DATA>echo \TMP-DATA\
echo %~s0
::Ausgabe: c:\TMP-DATA>echo c:\TMP-DATA\test.bat
echo %~t0
::Ausgabe: c:\TMP-DATA>echo 25.06.2020 16:06
echo %~x0
::Ausgabe: c:\TMP-DATA>echo .bat
echo %~z0
::Ausgabe: c:\TMP-DATA>echo 434
echo %~0\%~1
::Ausgabe: c:\TMP-DATA>echo test.bat\
echo %~a0\%~1
::Ausgabe: c:\TMP-DATA>echo --a--------\
echo %~d0\%~1
::Ausgabe: c:\TMP-DATA>echo c:\
echo %~f0\%~1
::Ausgabe: c:\TMP-DATA>echo c:\TMP-DATA\test.bat\
echo %~n0\%~1
::Ausgabe: c:\TMP-DATA>echo test\
echo %~p0\%~1
::Ausgabe: c:\TMP-DATA>echo \TMP-DATA\\
echo %~s0\%~1
::Ausgabe: c:\TMP-DATA>echo c:\TMP-DATA\test.bat\
echo %~t0\%~1
::Ausgabe: c:\TMP-DATA>echo 25.06.2020 16:06\
echo %~x0\%~1
::Ausgabe: c:\TMP-DATA>echo .bat\
echo %~z0\%~1
::Ausgabe: c:\TMP-DATA>echo 434\
Dies ist für mich und andere zur Info
Ich weiß jetzt noch nicht wozu
%~1
%~z0
Der Rest ist selbst redend meiner Meinung nach.
Just my Senf
Thomas
Ein
for /?
in die Konsole eintippen hätte dich auch erleuchtet ... Hier steht es auchhttps://ss64.com/nt/syntax-args.html
Zitat von @PeterleB:
und wenn Du noch einen Bat To Exe Converter verwendest,
braucht es gar kein cmd-Fenster.
Aber einen der die Virenscanner dann abschalten muss oder Ausnahmen in diesen hinzufügt . Verkappte CMDs als EXE mitzuschleppen ist meist eine sehr schlechte Idee. Dann lieber per VBS unsichtbar starten. Oder sich selbst einen Wrapper schreiben.und wenn Du noch einen Bat To Exe Converter verwendest,
braucht es gar kein cmd-Fenster.
CreateObject("Wscript.Shell").Run "cmd /c script.cmd",0,False
CreateObject("Wscript.Shell").Run "prog.exe"
Zitat von @PeterleB:
Deine Idee ist gut, aber dann klappt dieser Aufruf nicht mehr:
Es ging ja um den Programmaufruf, ohne den LW-Buchstaben zu kennen.
Doch das ist ja das geringste Problem Deine Idee ist gut, aber dann klappt dieser Aufruf nicht mehr:
> CreateObject("Wscript.Shell").Run "\PortApps\_System\SysInternals Suite\procexp64.exe"
>
Es ging ja um den Programmaufruf, ohne den LW-Buchstaben zu kennen.
Set fso = CreateObject("Scripting.FileSystemobject")
CreateObject("Wscript.Shell").Run """" & fso.BuildPath(fso.GetParentfolderName(wscript.ScriptFullname), "\PortApps\_System\SysInternals Suite\procexp64.exe") & """"
Auch kein Problem, siehe Ergänzung oben.
Büddebüdde
Noch eine Frage dazu:
Wie muss es aussehen, wenn das Programm mit Admin-Rechten ausgeführt werden soll?
Ich habe folgendes gefunden.
Die Anführungszeichen und das "&" müssen sicher korrigiert werden.
Und dann muss auch noch das PW per sendkeys übergeben werden.
Gibt eine Möglichkeit, das Ganze ohne PW-Abfrage zu erreichen?
Bei
geht das doch auch.
Gruß
Peter
Wie muss es aussehen, wenn das Programm mit Admin-Rechten ausgeführt werden soll?
Ich habe folgendes gefunden.
"RunAs /noprofile /user:administrator "
CreateObject("Wscript.Shell").Run "RunAs /noprofile /user:administrator " """" & fso.BuildPath(fso.GetParentfolderName(wscript.ScriptFullname), "\PortApps\_System\SysInternals Suite\procexp64.exe") & """"
Die Anführungszeichen und das "&" müssen sicher korrigiert werden.
Und dann muss auch noch das PW per sendkeys übergeben werden.
Gibt eine Möglichkeit, das Ganze ohne PW-Abfrage zu erreichen?
Bei
cmd.exe /s /k pushd "%V"
geht das doch auch.
Gruß
Peter
Moin,
Ich nehme folgende Zeile um Adminrechte zu erfragen (das Skript wird anschließend elevated ausgeführt. Auch als Nicht Admin (Da wird nach Admin PW gefragt.)
copy "%~0" "c:\TMP-DATA\CMD\%~n0.cmd"
set Auszufuehrend="c:\TMP-DATA\CMD\%~n0.cmd"
:ask_for_ADMIN-Rights
Ich hatte Probleme das manche das Skript aus dem Netz aufrufen wollten, dies aber so nicht möglich war.
Z.B. weil der Admin kein Zugriff hatte.
Ich kopiere es immer nach c:\TMP-DATA\CMD und starte von hier
Ich nehme folgende Zeile um Adminrechte zu erfragen (das Skript wird anschließend elevated ausgeführt. Auch als Nicht Admin (Da wird nach Admin PW gefragt.)
copy "%~0" "c:\TMP-DATA\CMD\%~n0.cmd"
set Auszufuehrend="c:\TMP-DATA\CMD\%~n0.cmd"
:ask_for_ADMIN-Rights
Ich hatte Probleme das manche das Skript aus dem Netz aufrufen wollten, dies aber so nicht möglich war.
Z.B. weil der Admin kein Zugriff hatte.
Ich kopiere es immer nach c:\TMP-DATA\CMD und starte von hier
Sorry, das ist nicht ganz, was mir vorschwebt.
Ich möchte diesen Ansatz umsetzen:
Ich weiß nur nicht, wie beim Befehl CreateObject("Wscript.Shell").Run ... die Anführungszeichen mit dem "&" richtig gesetzt werden.
Ich möchte diesen Ansatz umsetzen:
Option explicit
Dim oShell
set oShell= Wscript.CreateObject("WScript.Shell")
'Replace the path with the program you wish to run c:\program files...
oShell.Run "RunAs /noprofile /user:administrator ""C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"""
WScript.Sleep 100
'Replace the string --> yourpassword~ with the
'password used on your system. Include the tilde "~"
oShell.Sendkeys "yourpassword~"
Wscript.Quit
Ich weiß nur nicht, wie beim Befehl CreateObject("Wscript.Shell").Run ... die Anführungszeichen mit dem "&" richtig gesetzt werden.
Wie muss es aussehen, wenn das Programm mit Admin-Rechten ausgeführt werden soll?
Das VBS muss schon mit einem Admin-Account gestartet werden, daraus kann man andere Programme dann so "elevieren".Beispiel:
CreateObject("Shell.Application").ShellExecute "C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe",,,"runas",1
Ich möchte diesen Ansatz umsetzen:
Die UAC kannst du aus Sicherheitsgründen nicht fernsteuern, der Secure Desktop verhindert das. Starte das ganze stattdessen gleich elevated über einen "one time shot" scheduled task.schtasks /?
auf der Konsole eintippeln... Findest du hier im Forum haufenweise Infos zum Thema.Btw. den fremden Thread hier für deine Zwecke zu entführen ist nicht gerade die feine Art.
Siehe Diskussionsrichtlinien: Diskussionsrichtlinien - die Regeln zu unseren Inhalten
"Keine Takeovers. Versuche nicht, Beiträge anderer Autoren mit Ihren Fragen zu anderen Themen zu übernehmen. Eröffne lieber einen neuen eigenen Beitrag."
Zitat von @PeterleB:
habe erst noch was Anderes zu tun (Haushaltspflichten) und eröffne dann eine neue Frage.
Bitte nicht, die ist überflüssig, die Antwort auf deine Frage findest du hierhabe erst noch was Anderes zu tun (Haushaltspflichten) und eröffne dann eine neue Frage.
Use the Windows Task Scheduler to run apps without UAC prompts and admin rights
Haben schon >1 Mio anderer User gefragt....
Moin Latavia,
Bitte kläre dann auch auf über die Risiken die der Scheduler bietet.
Ist das für eine Firmenumgebung ist es nicht empfehlenswert.
Wenn auch manchmal nicht anders lösbar.
Hintergrund:
Wenn Ich im Scheduled Tasks sage lasse z.B. %windir%\system32\notepad.exe als admin starten nach Logon.
Dann braucht ein findiger Anwender oder sonst etwas NUR die entsprechende obige Datei austauschen und die läuft dann nach den Einstellungen mit adminrechten...
Kann akzeptabel sein.
Muss man wissen.
Sicherer ist RunasRob
https://www.runasrob.com/
Dort wird verschlüsselt 1 Datei zum Adminstart erstellt.
Und diese Datei ist nicht tauschbar
Wenn getauscht ist der Schlüssel nicht nutzbar :-p
Aber nicht kostenfrei.
Nur mein Senf.
Thomas
Bitte kläre dann auch auf über die Risiken die der Scheduler bietet.
Ist das für eine Firmenumgebung ist es nicht empfehlenswert.
Wenn auch manchmal nicht anders lösbar.
Hintergrund:
Wenn Ich im Scheduled Tasks sage lasse z.B. %windir%\system32\notepad.exe als admin starten nach Logon.
Dann braucht ein findiger Anwender oder sonst etwas NUR die entsprechende obige Datei austauschen und die läuft dann nach den Einstellungen mit adminrechten...
Kann akzeptabel sein.
Muss man wissen.
Sicherer ist RunasRob
https://www.runasrob.com/
Dort wird verschlüsselt 1 Datei zum Adminstart erstellt.
Und diese Datei ist nicht tauschbar
Wenn getauscht ist der Schlüssel nicht nutzbar :-p
Aber nicht kostenfrei.
Nur mein Senf.
Thomas
Natürlich muss man den Ordner in dem solche Skripte u. d gl. liegen vor Veränderung durch Otto-Normalo schützen das ist klar.
Aber das Vorhaben des TO wie ich das sehe ist mangels Kenntnis von UAC & Co. zum Scheitern verurteilt.
Aber das Vorhaben des TO wie ich das sehe ist mangels Kenntnis von UAC & Co. zum Scheitern verurteilt.