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

Batch-Datei schreiben für Installation und Verknüpfung erstellen

Frage Entwicklung Batch & Shell

Mitglied: TobiisFreaky

TobiisFreaky (Level 2) - Jetzt verbinden

24.07.2007, aktualisiert 25.07.2007, 12051 Aufrufe, 19 Kommentare

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
Mitglied: noergler
24.07.2007 um 13:50 Uhr
1. Mit

start / wait programm.exe

die Installationsdateien aufrufen.

2.

Schau mal im Hilfe und Supportcenter nach unter "cacls" zum Ändern der Berechtigungen auf Lw D:.

Nörgler
Bitte warten ..
Mitglied: bastla
24.07.2007 um 13:53 Uhr
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.

Vllt auch noch erklären, wie man die Rechte auf D:\ auf Vollzugriff per Batch stellen könnte...
01.
cacls D:\ /E /C /T /G Benutzer:F
Mit dem Schalter /T kann's ein wenig dauern ...

Grüße
bastla
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 14:03 Uhr
wow ging ja wirklich sehr schnell, ich werde es gleich mal ausprobieren, vielen Dank vorerst

EDIT:

wie bekomme ich das "OK" am Ende der Installation weg?
Dafür muss es doch auch einen Befehl geben?

Freaky
Bitte warten ..
Mitglied: bastla
24.07.2007 um 14:09 Uhr
Hallo TobiisFreaky!

Schau mal, ob die Installationsdatei einen Schalter "/Silent" oä für eine "unbeaufsichtigte Installation" unterstützt.

Ev kann Dir jemand mehr sagen, wenn Du den/die Namen der zu installierenden Software angibst ...

Grüße
bastla
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 14:17 Uhr
ja den gibt es, den habe ich auch bereits verwendet, allerdings wird überhaupt nichts mehr angezeigt, die Batch-Datei shließt sich und im TASK-Manager wird die Datei kurz angezeigt, dann verschwindet diese.

<< cacls D: /E /C /T /G Benutzer:F
einzigster Fehler war hier der \, dieser darf nicht gesetzt werden!

Das hier funktioniert einwandfrei, wie du sagtest, bei /T hinkt er ein wenig, aber sonst ist das weiter kein Problem.

@ Bastla:

Es handelt sich um den ePO Agent und Update


Freaky
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 14:24 Uhr
"sleep 4" erkennt er in der Batch nicht.

Das mit dem Loopback funktioniert, sieht aber unprofessionel aus :P

Hast du noch eine andere Lösung, oder dich nur vertippt?
Bitte warten ..
Mitglied: bastla
24.07.2007 um 14:34 Uhr
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
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 15:04 Uhr
ja alles klar, hatte die exe bereits beim nachgoogln gefunden,

VIELEN DANK Leute, die Batch funktioniert einwandfrei:

@echo off
echo Installation des Virenscanners wird vorbereitet und installiert, bitte warten Sie einige Sekunden!
\\XXXXXXXXX\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3

echo .

start \\XXXXXXXXXXX\admin_backup\ePO_Dateien\FramePkg_aktuell_(epo-Agent).exe /silent
\\XXXXXXXXXXXX\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3

start \\XXXXXXXXXXXXX\admin_backup\ePO_Dateien\SDAT\sdat5080.exe /silent
echo Die Installation des Virenscanners und Updates sind abgeschlossen!
\\XXXXXXXXXXXX\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3

echo .

echo Einstellungen der Berechtigung fuer Laufwerk D:\ werden vorbereitet....

\\XXXXXXXXXXXX\admin_backup\ePO_Dateien\Sleep\sleep.exe 3
echo Einstellungen werden jetzt gestartet, bitte etwas warten!
\\XXXXXXXXXXX\admin_backup\ePO_Dateien\Sleep\sleep.exe 3
cacls D: /E /C /T /G Benutzer:F
echo .
echo Die Zugriffsberechtigung fuer "Benutzer" wurden geaendert!

\\XXXXXXXXXXX\admin_backup\ePO_Dateien\Sleep\sleep.exe 3

pause




vielen Dank nochmal!

Freaky
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 15:15 Uhr
mal noch eine Frage :P

wie ist das eigentlich, wenn ich eine Verknüfung in den Autostart legen will?

müsste ja dann auch so irgendwie aussehen oder? :

copy "D:\persoenlich\Datafps.exe" "C:\Dokumente und Einstellungen\All Users\Startmenü\Autostart"

hmmm

Freaky
Bitte warten ..
Mitglied: bastla
24.07.2007 um 15:52 Uhr
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
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 15:57 Uhr
ok aber gibt es auch eine Möglichkeit, eine Verknüpfung mit Hilfe einer Batch zu erstellen?

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?

Freaky
Bitte warten ..
Mitglied: Biber
24.07.2007 um 21:51 Uhr
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.
  • 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.
01.
 .. 
02.
for /d %%i in ("%userprofile%\startme*") do Set "usersStartMenu=%%i" 
03.
REM jetzt steht so etwas wie "C:\Dokumente und Einstellungen\Biber\Startmenü"  
04.
REM in der Variablen %usersStartMenu% 
05.
REM ....und dann "copy blubb.xyz %usersStartMenu%\blubb.xyz" oder so. 
06.
...
Alle kurz angesprochenen Lösungswege solltest Du auch über Forumssuche finden.

Grüße
Biber
Bitte warten ..
Mitglied: TobiisFreaky
24.07.2007 um 22:03 Uhr
ja stimmt schon, sry.

Aber letztes mal wurde ich von einem Admin angesprochen und gefragt, warum ic hgleichzeitig so viele Beiträge öffnen würde, wenn meine "Hauptfrage, wie das funktioniert" noch nicht mal gelöst sei... da haben wirs wieder... Naja gut, ich versuche mich daran zu halten

Tobi
Bitte warten ..
Mitglied: Biber
24.07.2007 um 22:28 Uhr
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"...
Bitte warten ..
Mitglied: bastla
24.07.2007 um 22:36 Uhr
Ich äußere mich jetzt auch gleich hier , wobei ich zum Erstellen einer Verknüpfung nur ein VB-Script anbieten kann:
01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
sLinkRoot = WshShell.SpecialFolders("StartMenu") 
03.
sLinkPath = "Programme\Verknüpfung mit BlaBla.lnk" 
04.
sTargetPath = "C:\Programme\Bla" 
05.
sTargetProg = "BlaBla.exe" 
06.
sDescr = "Unbeschreiblich ..." 
07.
 
08.
set oShortcut = WshShell.CreateShortcut(sLinkRoot & "\" & sLinkPath) 
09.
oShortcut.TargetPath = strTargetPath & "\" & sTargetProg 
10.
oShortcut.Description = sDescr 
11.
oShortcut.WorkingDirectory = sTargetPath 
12.
oShortcut.Save
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:
01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
sLinkRoot = WshShell.SpecialFolders(WScript.Arguments(0)) 
03.
sLinkPath = WScript.Arguments(1) 
04.
sTargetPath = WScript.Arguments(2) 
05.
sTargetProg = WScript.Arguments(3) 
06.
sDescr = WScript.Arguments(4) 
07.
 
08.
set oShortcut = WshShell.CreateShortcut(sLinkRoot & "\" & sLinkPath) 
09.
oShortcut.TargetPath = strTargetPath & "\" & sTargetProg 
10.
oShortcut.Description = sDescr 
11.
oShortcut.WorkingDirectory = sTargetPath 
12.
oShortcut.Save
Aufzurufen wäre das Script (wenn es als "C:\Scripts\MakeLink.vbs" gespeichert wurde) so:
01.
cscript //nologo "C:\Scripts\MakeLink.vbs" "StartMenu" "Programme\Verknüpfung mit BlaBla.lnk" "C:\Programme\Bla" "BlaBla.exe" "Unbeschreiblich ..."
In dieser Kurzfassung des Scripts werden weder Pfade noch Parameter überprüft, aber zum Testen sollte es einmal reichen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
24.07.2007 um 22:44 Uhr
Na gut, bastla,

aber wenn er jetzt wieder mit "ok aber" antwortet, dann schließe ich den Beitrag...


...just kidding...

Grüße
Biber
Bitte warten ..
Mitglied: TobiisFreaky
25.07.2007 um 07:53 Uhr
haha, sehr witzig ;)

mal eine Frage, ohne ok aber .....

Ich habe das Script von bastla kopiert und soweit angepasst:

"C:\Scripts\MakeLink.vbs" = auf Server gelegt und Link angepasst
"StartMenu" = damit kann ich nichts anfangen
"Programme\Verknüpfung mit BlaBla.lnk" = auf C:\ gelegt mit *.exe, was ich hieran nicht verstehe, ist was eine Verknüpfung erstellt wird, bevor der wirkliche Ordner und die Datei angegeben werden....
"C:\Programme\Bla" = Ordner ist klar
"BlaBla.exe" = ist ebenfalls klar, die Datei von der die Verknüfung gemacht werden soll.
"Unbeschreiblich ..." = Kommentar Oo

ich benutze mal die Suchfunktion, erhoffe mir aber nicht viel....

Freaky
Bitte warten ..
Mitglied: bastla
25.07.2007 um 09:32 Uhr
Hallo TobiisFreaky!

"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
01.
set oShortcut = WScript.CreateObject("WScript.Shell").CreateShortcut("C:\Dokumente und Einstellungen\Username\Startmenü\Programme\Verknüpfung mit BlaBla.lnk") 
02.
oShortcut.TargetPath = "C:\Programme\Bla\BlaBla.exe" 
03.
oShortcut.Save
genügen, wobei aber der "Username" nicht variabel wäre, daher ... (siehe oben).

Grüße
bastla
Bitte warten ..
Mitglied: TobiisFreaky
25.07.2007 um 13:02 Uhr
OK! Herzlichen Dank,

ich habe jetzt einfach die Datei per copy eingebunden, also diese wird jetzt kopiert, mir ist aufgefallen, dass diese nur 250KB groß ist, also kann man die ruhig in den Autostart setzen.

Vielen Dank an dich bastla und alle anderen, die mir geholfen haben/wollten

Das mit der Script Datei schau ich mir noch mal an, wenn ich mehr Zeit habe, im Moment eilt es ziemlich, alle Rechner fertig zu verteilen.


Freaky


Hier der Code:

@echo off
echo Installation des Virenscanners wird vorbereitet und installiert, bitte warten Sie einige Sekunden!
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3
echo.
echo.
start \\10.40.1.11\admin_backup\ePO_Dateien\FramePkg_aktuell_(epo-Agent).exe /silent
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3
start \\10.40.1.11\admin_backup\ePO_Dateien\SDAT\sdat5080.exe /silent
echo.
echo Die Installation des Virenscanners und Updates sind abgeschlossen!
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\Sleep.exe 3
echo.
echo.
echo Einstellungen der Berechtigung fuer Laufwerk D:\ werden vorbereitet....
echo.
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\sleep.exe 3
echo Einstellungen werden jetzt gestartet, bitte etwas warten!
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\sleep.exe 3
cacls D: /E /C /T /G Benutzer:F
echo.
echo.
echo Die Zugriffsberechtigung fuer "Benutzer" wurden geaendert!
echo.
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\sleep.exe 3
echo.
echo FreePDF wird in den Autostart verknuepft!
echo.
copy "C:\Programme\FreePDF_XP\fpassist.exe" "C:\Dokumente und Einstellungen\All Users\Startmen\Programme\Autostart"
echo.
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\sleep.exe 5
echo.
echo Alles installiert!
\\10.40.1.11\admin_backup\ePO_Dateien\Sleep\sleep.exe 2


Wenn etwas verbessert werden kann, ruhig her damit :P
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...