Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Über CMD ins Startmenü

Frage Entwicklung Batch & Shell

Mitglied: DONNobre

DONNobre (Level 1) - Jetzt verbinden

06.06.2011 um 02:26 Uhr, 5742 Aufrufe, 7 Kommentare

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
Mitglied: ovu-p86
06.06.2011 um 03:52 Uhr
Hallo DONNobre,

da ich die Fragestellung nicht komplett verstehe, hier zumindest ein Hinweis
bzgl. einer Weiche für die Windows-Versionen.

01.
for /F "usebackq tokens=2 delims=[" %%i IN (`ver`) DO set version=%%i 
02.
set Version=%Version:~8,3% 
03.
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
Bitte warten ..
Mitglied: Friemler
06.06.2011 um 09:20 Uhr
Hallo DONNobre,

Nimm besser Inline-VBScript, dann bist Du wirklich von der Windowsversion unabhängig:
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "VBSCode=%TEMP%\GetAutostartPath.vbs" 
07.
 
08.
> "%VBSCode%" echo Set objShell = WScript.CreateObject("WScript.Shell") 
09.
>>"%VBSCode%" echo WScript.Echo objShell.SpecialFolders("Startup") 
10.
 
11.
for /f "delims=" %%p in ('cscript /nologo "%VBSCode%"') do set "AutostartPath=%%p" 
12.
 
13.
del "%VBSCode%" 2>NUL 
14.
 
15.
 
16.
echo %AutostartPath%
Das liefert den Autostartordner vom aktuell angemeldeten Benutzer. Um den Pfad des All Users Autostartordners zu bekommen, musst Du objShell.SpecialFolders("AllUsersStartup") schreiben.

Gruß
Friemler
Bitte warten ..
Mitglied: mathe172
06.06.2011 um 15:59 Uhr
Hallo,

@Friemler:
Warum benutzt eigentlich jeder diesen 2-Zeiler in vbs?
Wieso nicht
01.
WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("StartUp")
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:
01.
*Kommentarzeilen mit * 
02.
*Syntax: Variablenname:Wert, auch mit umgebungsvariablen 
03.
V01:%windir%\Profiles\%user%\Startmenü\Programme\Autostart 
04.
*und so weiter
CheckPaths.bat:
01.
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"
Mit freundlichen Grüßen,
Mathe172
Bitte warten ..
Mitglied: Friemler
06.06.2011 um 16:20 Uhr
Hallo Mathe,

Zitat von mathe172:
Ist das zu unübersichtlich?

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
Bitte warten ..
Mitglied: DONNobre
06.06.2011 um 17:26 Uhr
Ok vbs sieht besser aus geb ich zu ...
aber wie gebe ich die zu kopierende datei an ? von vbs habe ich 0 ahnung
Bitte warten ..
Mitglied: Friemler
06.06.2011 um 18:50 Uhr
Hallo DONNobre,

wer sagt denn, dass Du das jetzt komplett in VBS lösen sollst? Mein Script oben IST Batchscript, hänge jetzt einfach den Kopierbefehl an.

Machst Du Ferien auf dem Mond? Ich meine ja nur, wegen der langen Leitung...

Gruß
Friemler
Bitte warten ..
Mitglied: DONNobre
06.06.2011 um 23:22 Uhr
Machst Du Ferien auf dem Mond? Ich meine ja nur, wegen der langen Leitung...


Manchmal denke ich ja ...
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Windows 10
Windows Startmenü, Searchfunktion, Uhr reagieren nicht mehr (4)

Frage von emal011 zum Thema Windows 10 ...

Batch & Shell
Schleife mit todos CMD

Frage von TommyDerWalker zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...