Batch-Datei schreiben für Installation und Verknüpfung erstellen
Hallo Com,
ich muss eine Batch-Datei schreiben, die mir 2 Dateien installiert, dazwischen vllt 4-5 Sekunden wartet, bevor die nächste *.exe Datei begonnen wird zu installieren.
Wäre euch sehr verbunden, mir ein paar Befehle zu sagen, oder vllt auch eine Seite, wo man das selber lernen kann, ich habe leider nichts ausreichendes dazu gefunden
Vllt auch noch erklären, wie man die Rechte auf D:\ auf Vollzugriff per Batch stellen könnte...
Zusätzlich muss noch eine Verknüpfung erstellt werden, die von C:\Programme nach C:\Doku.....Autostart in All Users kopiert werden muss....
vielen Dank im vorraus!
ps: Es handelt sich um Windows XP mit SP2
Mit freundlichen Grüßen
Freaky
ich muss eine Batch-Datei schreiben, die mir 2 Dateien installiert, dazwischen vllt 4-5 Sekunden wartet, bevor die nächste *.exe Datei begonnen wird zu installieren.
Wäre euch sehr verbunden, mir ein paar Befehle zu sagen, oder vllt auch eine Seite, wo man das selber lernen kann, ich habe leider nichts ausreichendes dazu gefunden
Vllt auch noch erklären, wie man die Rechte auf D:\ auf Vollzugriff per Batch stellen könnte...
Zusätzlich muss noch eine Verknüpfung erstellt werden, die von C:\Programme nach C:\Doku.....Autostart in All Users kopiert werden muss....
vielen Dank im vorraus!
ps: Es handelt sich um Windows XP mit SP2
Mit freundlichen Grüßen
Freaky
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 64555
Url: https://administrator.de/contentid/64555
Ausgedruckt am: 23.11.2024 um 00:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo TobiisFreaky!
Bei XP steht Dir Die Resource Kit Tools enthalten "sleep.exe", dann stünde Dir "sleep 4" zur Verfügung, ansonsten wird gerne "ping -n 5 127.0.0.1" verwendet, um eine Pause von etwa 4 Sekunden zu erreichen.
Mit dem Schalter /T kann's ein wenig dauern ...
Grüße
bastla
Vllt auch noch erklären, wie man die Rechte auf D:\ auf Vollzugriff per Batch stellen könnte...
cacls D:\ /E /C /T /G Benutzer:F
Grüße
bastla
Hallo TobiisFreaky!
Sorry, darauf vergesse ich immer mal gerne (weil bei mir unter XP immer installiert): Die "sleep.exe" findest Du in den "Resource Kit Tools", zB hier die Server 2003-Variante ...
Wenn Du "ping -n 5 127.0.0.1>nul" verwendest, müsste es aber auch passen.
Grüße
bastla
Sorry, darauf vergesse ich immer mal gerne (weil bei mir unter XP immer installiert): Die "sleep.exe" findest Du in den "Resource Kit Tools", zB hier die Server 2003-Variante ...
Wenn Du "ping -n 5 127.0.0.1>nul" verwendest, müsste es aber auch passen.
Grüße
bastla
Hallo TobiisFreaky!
Mit der vor Dir angegebenen "copy"-Zeile würdest Du nicht eine Verknüpfung erstellen, sondern die "Datafps.exe" selbst kopieren (was natürlich auch eine Möglichkeit wäre).
Wenn es aber tatsächlich eine Verknüpfung sein soll, diese einmal wie gehabt erstellen und die entstandene Datei (Dateityp ".lnk") kopieren.
Grüße
bastla
Mit der vor Dir angegebenen "copy"-Zeile würdest Du nicht eine Verknüpfung erstellen, sondern die "Datafps.exe" selbst kopieren (was natürlich auch eine Möglichkeit wäre).
Wenn es aber tatsächlich eine Verknüpfung sein soll, diese einmal wie gehabt erstellen und die entstandene Datei (Dateityp ".lnk") kopieren.
Grüße
bastla
Moin TobiisFreaky
> ok aber gibt es auch eine Möglichkeit, eine Verknüpfung mit Hilfe einer Batch zu erstellen?
Bestimmt. Es gibt aber aber auch die Möglichkeit, für neu aufkommende Fragen wahlweise die forumseigene Suchfunktion zu benutzen oder einen Beitrag aufzumachen. Bitte nicht sieben inhaltlich vollkommen unterschiedliche Fragen in einem Beitrag.
Und nicht in dem Stil "Danke. Problem gelöst. Aber da hätte ich noch eine andere Frage.." immer weitermachen.
Diese Forumsidee funktioniert ja nur sinnvoll, wenn oben eine Frage steht, darunter vielleicht dazu passende Lösungen.
Wer sollte denn später mal unter der Überschrift "Batch-Datei schreiben für Installation" eine Lösung für LNK-Erstellung vermuten??
> Desweiteren habe ich noch eine Frage zu der Pfadangabe, ich habe die Berechtigung für Benutzer auf Vollzugriff
> gestellt und wollte das per Batch erstmal kopieren, um zu testen, doch er sagt mir, dass de Pfad nicht vorhanden sei.
> Das liegt daran, dass er auch dem \Startmenü\ ein \Startmen³\ macht, was natürlich nicht vorhanden ist. selbst mit einem
> deutschen MS DOS Editor funktioniert das nicht. In "" ebenfalls nicht. Was für eine Möglichkeit gäbe es denn noch?
Mehrere.
Alle kurz angesprochenen Lösungswege solltest Du auch über Forumssuche finden.
Grüße
Biber
> ok aber gibt es auch eine Möglichkeit, eine Verknüpfung mit Hilfe einer Batch zu erstellen?
Bestimmt. Es gibt aber aber auch die Möglichkeit, für neu aufkommende Fragen wahlweise die forumseigene Suchfunktion zu benutzen oder einen Beitrag aufzumachen. Bitte nicht sieben inhaltlich vollkommen unterschiedliche Fragen in einem Beitrag.
Und nicht in dem Stil "Danke. Problem gelöst. Aber da hätte ich noch eine andere Frage.." immer weitermachen.
Diese Forumsidee funktioniert ja nur sinnvoll, wenn oben eine Frage steht, darunter vielleicht dazu passende Lösungen.
Wer sollte denn später mal unter der Überschrift "Batch-Datei schreiben für Installation" eine Lösung für LNK-Erstellung vermuten??
> Desweiteren habe ich noch eine Frage zu der Pfadangabe, ich habe die Berechtigung für Benutzer auf Vollzugriff
> gestellt und wollte das per Batch erstmal kopieren, um zu testen, doch er sagt mir, dass de Pfad nicht vorhanden sei.
> Das liegt daran, dass er auch dem \Startmenü\ ein \Startmen³\ macht, was natürlich nicht vorhanden ist. selbst mit einem
> deutschen MS DOS Editor funktioniert das nicht. In "" ebenfalls nicht. Was für eine Möglichkeit gäbe es denn noch?
Mehrere.
- einen Editor verwenden, der Text-Dateien im DOS und im WINDOWS-Code speichern kann.
- oder mit dem Befehl CHCP feststellen und ggf. ändern, welche Codepage die CMD.exe verwendet (1242, 439 oder 850)
- oder statt "..blabla ..\Starmenü" als letzten Teil des Pfades "...blabla..\STARTM~1" verwenden
- oder folgenden Code-Schnipsel verwenden.
..
for /d %%i in ("%userprofile%\startme*") do Set "usersStartMenu=%%i"
REM jetzt steht so etwas wie "C:\Dokumente und Einstellungen\Biber\Startmenü"
REM in der Variablen %usersStartMenu%
REM ....und dann "copy blubb.xyz %usersStartMenu%\blubb.xyz" oder so.
...
Alle kurz angesprochenen Lösungswege solltest Du auch über Forumssuche finden.
Grüße
Biber
Na ja, Tobi,
ich denke schon, dass wir da einen Mittelweg finden.
Ich wollte/würde mich ja auch nicht hinstellen und schreiben:
"Zu dieser Frage äußere ich mich erst in einem neuen Thread."
Manchmal habe ich nur so gewisse Moderatoren-Deja-vu-Momente...
...so zum Beispiel, als Dein vorletzter Kommentar mit den beiden Worten "ok aber " anfing.
Da konnte ich schon den weiteren Verlauf erahnen..*gg
Lass es uns einfach beides versuchen: Deine Fragen zu klären und die Lösungen wiederfind- und wiederverwendbar für andere ins Forum zu stellen.
Grüße
Biber
P.S. ...letztes mal wurde ich von einem Admin angesprochen
Ach was, das war nur ein globaler Admin...aber ich bin der Moderator hier in "Batch & Shell"...
ich denke schon, dass wir da einen Mittelweg finden.
Ich wollte/würde mich ja auch nicht hinstellen und schreiben:
"Zu dieser Frage äußere ich mich erst in einem neuen Thread."
Manchmal habe ich nur so gewisse Moderatoren-Deja-vu-Momente...
...so zum Beispiel, als Dein vorletzter Kommentar mit den beiden Worten "ok aber " anfing.
Da konnte ich schon den weiteren Verlauf erahnen..*gg
Lass es uns einfach beides versuchen: Deine Fragen zu klären und die Lösungen wiederfind- und wiederverwendbar für andere ins Forum zu stellen.
Grüße
Biber
P.S. ...letztes mal wurde ich von einem Admin angesprochen
Ach was, das war nur ein globaler Admin...aber ich bin der Moderator hier in "Batch & Shell"...
Ich äußere mich jetzt auch gleich hier , wobei ich zum Erstellen einer Verknüpfung nur ein VB-Script anbieten kann:
Damit würde eine Verknüpfung namens "Verknüpfung mit BlaBla" in "Startmenü\Programme" erstellt, welche auf das Programm "C:\Programme\Bla\BlaBla.exe" zeigt.
Zusätzlich wird noch eine Beschreibung und das Arbeitsverzeichnis "C:\Programme\Bla" festgelegt.
Die jeweiligen Details lassen sich natürlich auch aus einem Batch übergeben. Das würde dann etwa so aussehen:
Aufzurufen wäre das Script (wenn es als "C:\Scripts\MakeLink.vbs" gespeichert wurde) so:
In dieser Kurzfassung des Scripts werden weder Pfade noch Parameter überprüft, aber zum Testen sollte es einmal reichen ...
Grüße
bastla
Set WshShell = WScript.CreateObject("WScript.Shell")
sLinkRoot = WshShell.SpecialFolders("StartMenu")
sLinkPath = "Programme\Verknüpfung mit BlaBla.lnk"
sTargetPath = "C:\Programme\Bla"
sTargetProg = "BlaBla.exe"
sDescr = "Unbeschreiblich ..."
set oShortcut = WshShell.CreateShortcut(sLinkRoot & "\" & sLinkPath)
oShortcut.TargetPath = strTargetPath & "\" & sTargetProg
oShortcut.Description = sDescr
oShortcut.WorkingDirectory = sTargetPath
oShortcut.Save
Zusätzlich wird noch eine Beschreibung und das Arbeitsverzeichnis "C:\Programme\Bla" festgelegt.
Die jeweiligen Details lassen sich natürlich auch aus einem Batch übergeben. Das würde dann etwa so aussehen:
Set WshShell = WScript.CreateObject("WScript.Shell")
sLinkRoot = WshShell.SpecialFolders(WScript.Arguments(0))
sLinkPath = WScript.Arguments(1)
sTargetPath = WScript.Arguments(2)
sTargetProg = WScript.Arguments(3)
sDescr = WScript.Arguments(4)
set oShortcut = WshShell.CreateShortcut(sLinkRoot & "\" & sLinkPath)
oShortcut.TargetPath = strTargetPath & "\" & sTargetProg
oShortcut.Description = sDescr
oShortcut.WorkingDirectory = sTargetPath
oShortcut.Save
cscript //nologo "C:\Scripts\MakeLink.vbs" "StartMenu" "Programme\Verknüpfung mit BlaBla.lnk" "C:\Programme\Bla" "BlaBla.exe" "Unbeschreiblich ..."
Grüße
bastla
Hallo TobiisFreaky!
Anstelle von "StartMenu" kannst Du auch zB (Liste siehe hier) "AllUsersStartMenu" oder "Desktop" verwenden - in letzterem Falle würdest Du beim nächsten Parameter vermutlich das Verzeichnis weglassen und nur "Verknüpfung mit BlaBla.lnk" schreiben ...
Also nochmals: Die beiden Pfade für den Ort der Verknüpfung (persönliches Startmenü, Ordner "Programme" + Verknüpfungsname "Verknüpfung mit BlaBla.lnk") und Ort der Programmdatei sind jeweils aufgeteilt.
Wenn Du genau mitteilst, wie der Pfad aussehen und was die Verknüpfung enthalten soll, kann ich das ja gerne anpassen - als Minimum würde auch schon
genügen, wobei aber der "Username" nicht variabel wäre, daher ... (siehe oben).
Grüße
bastla
"StartMenu" = damit kann ich nichts anfangen
Damit kann einer der "SpecialFolders" verwendet werden, entspricht daher der variablen (was die Lösung flexibler macht) Angabe "%userprofile%\Startmenü" - dort wolltest Du doch hin.Anstelle von "StartMenu" kannst Du auch zB (Liste siehe hier) "AllUsersStartMenu" oder "Desktop" verwenden - in letzterem Falle würdest Du beim nächsten Parameter vermutlich das Verzeichnis weglassen und nur "Verknüpfung mit BlaBla.lnk" schreiben ...
Also nochmals: Die beiden Pfade für den Ort der Verknüpfung (persönliches Startmenü, Ordner "Programme" + Verknüpfungsname "Verknüpfung mit BlaBla.lnk") und Ort der Programmdatei sind jeweils aufgeteilt.
Wenn Du genau mitteilst, wie der Pfad aussehen und was die Verknüpfung enthalten soll, kann ich das ja gerne anpassen - als Minimum würde auch schon
set oShortcut = WScript.CreateObject("WScript.Shell").CreateShortcut("C:\Dokumente und Einstellungen\Username\Startmenü\Programme\Verknüpfung mit BlaBla.lnk")
oShortcut.TargetPath = "C:\Programme\Bla\BlaBla.exe"
oShortcut.Save
Grüße
bastla