Über CMD ins Startmenü
Hallo zusammen,
also ich möchte eigendlich nur das eine datei ins windows starmenü kopieren. nun gibt es mehrere Windowsversionen und Adminrechte.
Die möglichkeit die ich habe geht zwar aber stehe mehr auf einfache und übersichtliche scripte. Ich weiß das ich in dem script zu oft auf nr. sicher gehe.
md c:\temp\ablage
set V01=c:\Temp\ablage
set V02=c:\Temp\ablage
set V03=c:\Temp\ablage
set V04=c:\Temp\ablage
set V05=c:\Temp\ablage
set V06=c:\Temp\ablage
set V07=c:\Temp\ablage
set V08=c:\Temp\ablage
set V09=c:\Temp\ablage
set V10=c:\Temp\ablage
set V11=c:\Temp\ablage
set V12=c:\Temp\ablage
set V13=c:\Temp\ablage
set V14=c:\Temp\ablage
set V15=c:\Temp\ablage
set V16=c:\Temp\ablage
set V17=c:\Temp\ablage
set V18=c:\Temp\ablage
set V19=c:\Temp\ablage
set V20=c:\Temp\ablage
set V21=c:\Temp\ablage
if EXIST "%userprofile%\Startmenü\Programme\Autostart\" set V01="%userprofile%\Startmenü\Programme\Autostart\"
if EXIST "%userprofile%\%start_menu%\Programme\Autostart\" set V02="%userprofile%\%start_menu%\Programme\Autostart\"
if EXIST "%userprofile%\Startm~1\Programme\Autostart\" set V03="%userprofile%\Startm~1\Programme\Autostart\"
if EXIST "%windir%\All Users\Startmenü\Programme\Autostart\" set V04="%windir%\All Users\Startmenü\Programme\Autostart\"
if EXIST "%windir%\All Users\%start_menu%\Programme\Autostart\" set V05="%windir%\All Users\%start_menu%\Programme\Autostart\"
if EXIST "%windir%\All Users\Startm~1\Programme\Autostart\" set V06="%windir%\All Users\Startm~1\Programme\Autostart\"
if EXIST "%windir%\Profiles\%user%\Startmenü\Programme\Autostart" set V07="%windir%\Profiles\%user%\Startmenü\Programme\Autostart"
if EXIST "%windir%\Startmenü\Programme\Autostart\" set V08="%windir%\Startmenü\Programme\Autostart\"
if EXIST "%HOMEPATH%\Startmenü\Programme\Autostart\" set V09="%HOMEPATH%\Startmenü\Programme\Autostart\"
if EXIST "%HOMEPATH%\%start_menu%\Programme\Autostart\" set V10="%HOMEPATH%\%start_menu%\Programme\Autostart\"
if EXIST "%HOMEPATH%\Startm~1\Programme\Autostart\" set V11c="%HOMEPATH%\Startm~1\Programme\Autostart\"
if EXIST "%AllUsersProfile%\Startmenü\Programme\Autostart\" set V12="%AllUsersProfile%\Startmenü\Programme\Autostart\"
if EXIST "%AllUsersProfile%\%start_menu%\Programme\Autostart\" set V13="%AllUsersProfile%\%start_menu%\Programme\Autostart\"
if EXIST "%AllUsersProfile%\Startm~1\Programme\Autostart\" set V14c="%AllUsersProfile%\Startm~1\Programme\Autostart\"
if EXIST "Dokumente und Einstellungen\%USER%\Startmenü\Programme\Autostart" set V15="Dokumente und Einstellungen\%USER%\Startmenü\Programme\Autostart"
if EXIST "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" set V16="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" set V17="C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Benutzer\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" set V18="C:\Benutzer\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Benutzer\%user%\Startmenü" set V19="C:\Benutzer\%user%\Startmenü"
if EXIST "C:\Benutzer\%user%\%start_menu%" set V20="C:\Benutzer\%user%\%start_menu%"
if EXIST "C:\Benutzer\%user%\Startm~1" set V21="C:\Benutzer\%user%\Startm~1"
if EXIST "%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" set V22="%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
dann würde kommen wenn %v00% nicht c:\temp\ablage dann kopiere datei von c:\1.txt nach c:\2\1.txt
also ich möchte eigendlich nur das eine datei ins windows starmenü kopieren. nun gibt es mehrere Windowsversionen und Adminrechte.
Die möglichkeit die ich habe geht zwar aber stehe mehr auf einfache und übersichtliche scripte. Ich weiß das ich in dem script zu oft auf nr. sicher gehe.
md c:\temp\ablage
set V01=c:\Temp\ablage
set V02=c:\Temp\ablage
set V03=c:\Temp\ablage
set V04=c:\Temp\ablage
set V05=c:\Temp\ablage
set V06=c:\Temp\ablage
set V07=c:\Temp\ablage
set V08=c:\Temp\ablage
set V09=c:\Temp\ablage
set V10=c:\Temp\ablage
set V11=c:\Temp\ablage
set V12=c:\Temp\ablage
set V13=c:\Temp\ablage
set V14=c:\Temp\ablage
set V15=c:\Temp\ablage
set V16=c:\Temp\ablage
set V17=c:\Temp\ablage
set V18=c:\Temp\ablage
set V19=c:\Temp\ablage
set V20=c:\Temp\ablage
set V21=c:\Temp\ablage
if EXIST "%userprofile%\Startmenü\Programme\Autostart\" set V01="%userprofile%\Startmenü\Programme\Autostart\"
if EXIST "%userprofile%\%start_menu%\Programme\Autostart\" set V02="%userprofile%\%start_menu%\Programme\Autostart\"
if EXIST "%userprofile%\Startm~1\Programme\Autostart\" set V03="%userprofile%\Startm~1\Programme\Autostart\"
if EXIST "%windir%\All Users\Startmenü\Programme\Autostart\" set V04="%windir%\All Users\Startmenü\Programme\Autostart\"
if EXIST "%windir%\All Users\%start_menu%\Programme\Autostart\" set V05="%windir%\All Users\%start_menu%\Programme\Autostart\"
if EXIST "%windir%\All Users\Startm~1\Programme\Autostart\" set V06="%windir%\All Users\Startm~1\Programme\Autostart\"
if EXIST "%windir%\Profiles\%user%\Startmenü\Programme\Autostart" set V07="%windir%\Profiles\%user%\Startmenü\Programme\Autostart"
if EXIST "%windir%\Startmenü\Programme\Autostart\" set V08="%windir%\Startmenü\Programme\Autostart\"
if EXIST "%HOMEPATH%\Startmenü\Programme\Autostart\" set V09="%HOMEPATH%\Startmenü\Programme\Autostart\"
if EXIST "%HOMEPATH%\%start_menu%\Programme\Autostart\" set V10="%HOMEPATH%\%start_menu%\Programme\Autostart\"
if EXIST "%HOMEPATH%\Startm~1\Programme\Autostart\" set V11c="%HOMEPATH%\Startm~1\Programme\Autostart\"
if EXIST "%AllUsersProfile%\Startmenü\Programme\Autostart\" set V12="%AllUsersProfile%\Startmenü\Programme\Autostart\"
if EXIST "%AllUsersProfile%\%start_menu%\Programme\Autostart\" set V13="%AllUsersProfile%\%start_menu%\Programme\Autostart\"
if EXIST "%AllUsersProfile%\Startm~1\Programme\Autostart\" set V14c="%AllUsersProfile%\Startm~1\Programme\Autostart\"
if EXIST "Dokumente und Einstellungen\%USER%\Startmenü\Programme\Autostart" set V15="Dokumente und Einstellungen\%USER%\Startmenü\Programme\Autostart"
if EXIST "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" set V16="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" set V17="C:\Users\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Benutzer\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" set V18="C:\Benutzer\%user%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
if EXIST "C:\Benutzer\%user%\Startmenü" set V19="C:\Benutzer\%user%\Startmenü"
if EXIST "C:\Benutzer\%user%\%start_menu%" set V20="C:\Benutzer\%user%\%start_menu%"
if EXIST "C:\Benutzer\%user%\Startm~1" set V21="C:\Benutzer\%user%\Startm~1"
if EXIST "%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" set V22="%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
dann würde kommen wenn %v00% nicht c:\temp\ablage dann kopiere datei von c:\1.txt nach c:\2\1.txt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 167501
Url: https://administrator.de/contentid/167501
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo DONNobre,
da ich die Fragestellung nicht komplett verstehe, hier zumindest ein Hinweis
bzgl. einer Weiche für die Windows-Versionen.
Ergenis z.B.
5.1
32
Durch die Auswertung könntest du zumindest schon mal verteilen, zuordnen, wobei die bit-Version wahrscheinlich für dich
nicht so wichtig ist.
Gruß
Uwe
da ich die Fragestellung nicht komplett verstehe, hier zumindest ein Hinweis
bzgl. einer Weiche für die Windows-Versionen.
for /F "usebackq tokens=2 delims=[" %%i IN (`ver`) DO set version=%%i
set Version=%Version:~8,3%
if exist "c:\Program Files (x86)" (set bit=64) else (set bit=32)
Ergenis z.B.
5.1
32
Durch die Auswertung könntest du zumindest schon mal verteilen, zuordnen, wobei die bit-Version wahrscheinlich für dich
nicht so wichtig ist.
Gruß
Uwe
Hallo DONNobre,
Nimm besser Inline-VBScript, dann bist Du wirklich von der Windowsversion unabhängig:
Das liefert den Autostartordner vom aktuell angemeldeten Benutzer. Um den Pfad des All Users Autostartordners zu bekommen, musst Du
Gruß
Friemler
Nimm besser Inline-VBScript, dann bist Du wirklich von der Windowsversion unabhängig:
@echo off
setlocal
set "VBSCode=%TEMP%\GetAutostartPath.vbs"
> "%VBSCode%" echo Set objShell = WScript.CreateObject("WScript.Shell")
>>"%VBSCode%" echo WScript.Echo objShell.SpecialFolders("Startup")
for /f "delims=" %%p in ('cscript /nologo "%VBSCode%"') do set "AutostartPath=%%p"
del "%VBSCode%" 2>NUL
echo %AutostartPath%
objShell.SpecialFolders("AllUsersStartup")
schreiben.Gruß
Friemler
Hallo,
@Friemler:
Warum benutzt eigentlich jeder diesen 2-Zeiler in vbs?
Wieso nicht
Ist das zu unübersichtlich?
@to:
Bitte benutze Codeformatierung
Warum benutzt du so viele unterschiedliche Variablen?
Wäre so etwas nicht einfacher? (wenn schon so komliziert):
Pfade.txt:
CheckPaths.bat:
MfG,
Mathe172
@Friemler:
Warum benutzt eigentlich jeder diesen 2-Zeiler in vbs?
Wieso nicht
WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("StartUp")
@to:
Bitte benutze Codeformatierung
Warum benutzt du so viele unterschiedliche Variablen?
Wäre so etwas nicht einfacher? (wenn schon so komliziert):
Pfade.txt:
*Kommentarzeilen mit *
*Syntax: Variablenname:Wert, auch mit umgebungsvariablen
V01:%windir%\Profiles\%user%\Startmenü\Programme\Autostart
*und so weiter
CheckPaths.bat:
for /f "eol=* tokens=1* delims=:" %%A in (Pfade.txt) do for /f "delims=" %%C in ('echo.%%B') do if exist "%%C" set "%%B=%%C"
MfG,
Mathe172
Hallo Mathe,
Du hast es erfasst.
Von der Idee, feste Pfade abzuprüfen, halte ich nichts. Evtl. verschiebt MS die bei der nächsten Windowsversion wieder an eine andere Stelle.
Gruß
Friemler
Du hast es erfasst.
Von der Idee, feste Pfade abzuprüfen, halte ich nichts. Evtl. verschiebt MS die bei der nächsten Windowsversion wieder an eine andere Stelle.
Gruß
Friemler