Batchdatei in Autostart kopieren

...komplette Frage anzeigen

2 Antworten

Leider würde ja dein Skript nur dann funktionieren, wenn die Datei auf dem Desktop liegt. Das ist ja eher unwahrscheinlich.

Benutze anstelle von "%USERPROFILE%\Desktop\1.bat" einfach nur "%0". (Ja, ohne einem zweiten %-Zeichen) In der Variable %0 liegt immer der Pfad zur momentan ausgeführten Batch.

(Kleiner Hinweis nebenbei: %1, %2 und immer so weiter enthalten Argumente, die der Batch bei deren Start mitgegeben worden sind)

Das "/e" bei xcopy ist in deinem Fall unnnötig, da es sich bei dir um eine Datei und keinen Ordner handelt.

Und der Autostartordner kann unter Umständen auch mal anders heissen. Da ist es besser auf andere Techniken umzusteigen um den Ordner zu finden.

Über Batch allein geht dies schlecht aber mithilfe von vbs ist es wieder relativ einfach. Zudem wird nicht unbedingt eine Kopie im Autostartordner benötigt. Mit nur ein paar weiteren Zeilen können wir mittels vbs auch gleich eine Verknüpfung erstellen.

@echo off

cls

echo Set fso = CreateObject("Scripting.FileSystemObject") >sd.vbs

echo Set Shell = CreateObject("WScript.Shell") >>sd.vbs

echo Set link = Shell.CreateShortcut(fso.GetFolder(Shell.SpecialFolders("Startup")) + "\DeinProgrammName.lnk") >>sd.vbs

echo link.Arguments = "" >>sd.vbs

echo link.Description = "Programmbeschreibung" >>sd.vbs

echo link.IconLocation = "C:\Pfad\zum\Icon.ico" >>sd.vbs

echo link.TargetPath = %0 >>sd.vbs

echo link.WorkingDirectory = "%cd%" >>sd.vbs

echo link.Save >>sd.vbs

CSCRIPT sd.vbs

del /f /q sd.vbs

was willst Du denn mit den Parameter e und i. Du hast doch kein unterverzeichnis?Probiere es mal ohne die.Ich weiß auch nicht, ob du beim ziel nicht auch %userprofiele% angeben musst...um das rauszufinden musst du die datei lediglich nach c kopieren

also mit i geht es bei mir nach %userprofile%\dokumente

0

Was möchtest Du wissen?