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 erstellen, die beim Booten Installationspfad ermittelt und Datei löscht

Frage Entwicklung Batch & Shell

Mitglied: Nornoks

Nornoks (Level 1) - Jetzt verbinden

16.06.2007, aktualisiert 18.10.2012, 6939 Aufrufe, 11 Kommentare

Hi!
Ich möchte eine Batch-Datei erstellen, die sich automatisch beim Booten öffnet, einen Installationspfad aus der Registry herausliest, überprüft ob in diesem Pfad eine bestimmte Datei vorhanden ist, und falls ja, sie dann löscht.
Ist dies möglich? Ich habe selber nicht viel Erfahrung auf dem Gebiet "Batch-Programmierung" und würde mich über jegliche Hilfe freuen.

Schöne Grüße,
Nornoks
Mitglied: onegasee59
16.06.2007 um 18:00 Uhr
hallo,

entweder:
Batch in den Autostart, mit Inhalt: if exist "pfad zur gesuchten Datei" del "Pfad zur Datei"

wenn es direkt bei Booten passieren soll, also noch vor dem Autostart, muss die Batch in folgendes Verzeichnis gespeichert werden:

für WIN 2000: "C:\WINNT\system32\GroupPolicy\Machine\Scripts\Startup"
für WIN XP (nur XP Pro): "C:\WINDOWS\system32\GroupPolicy\Machine\Scripts\Startup"

gruß

@bastla
ist korrigiert - Danke für Aufpassen!
Immer hilfreich wenn man auf Spinat in den Zähnen aufmerksam gemacht wird
Bitte warten ..
Mitglied: Nornoks
16.06.2007 um 18:26 Uhr
Danke, und wie lasse ich ihn den Pfad aus der Registry lesen?
Bitte warten ..
Mitglied: onegasee59
16.06.2007 um 18:29 Uhr
Danke, und wie lasse ich ihn den Pfad aus der Registry lesen?
wozu Registry?
Reicht es nicht, wenn Du weißt wo sie im WIN Explorer liegt (oder nicht liegt)?
Um was für eine Datei geht es denn?
Eine Installation kannst Du so jedenfalls nicht sauber löschen!

gruß
Bitte warten ..
Mitglied: bastla
16.06.2007 um 18:37 Uhr
@onegasee59

Dein "if /i" würde als "if exist" auch gut passen ...

Grüße
bastla

[Edit] Kommentar mittlerweile gegenstandslos ... [/Edit]
Bitte warten ..
Mitglied: Nornoks
16.06.2007 um 18:42 Uhr
> Danke, und wie lasse ich ihn den Pfad
aus der Registry lesen?
wozu Registry?
Reicht es nicht, wenn Du weißt wo sie
im WIN Explorer liegt (oder nicht liegt)?
Um was für eine Datei geht es denn?
Eine Installation kannst Du so jedenfalls
nicht sauber löschen!

gruß

Ich möchte auch keine Installation löschen, sondern nur eine Datei der Installation.
Und da der Pfad variieren kann, wär's sehr praktisch, wenn ich den Pfad aus einer Registry rauslesen kann. Das müsste doch eigtl. gehen.
Bitte warten ..
Mitglied: onegasee59
16.06.2007, aktualisiert 18.10.2012
hallo,
dann schau dir mal die ersten 2 Beiträge hier drunter an ("Mögliche Antworten oder verwandte Beiträge") ob die dich weiter bringen.
Und lies auch http://www.administrator.de/forum/suche-nach-nero-installation-schl%c3% ... (Nimm dir Zeit)
Wenn nicht musst Du mal konkreter werden.

gruß
Bitte warten ..
Mitglied: Nornoks
17.06.2007, aktualisiert 18.10.2012
hallo,
dann schau dir mal die ersten 2
Beiträge hier drunter an
("Mögliche Antworten oder verwandte
Beiträge") ob die dich weiter
bringen.
Und lies auch
http://www.administrator.de/forum/suche-nach-nero-installation-schl%c3% ...
(Nimm dir Zeit)
Wenn nicht musst Du mal konkreter werden.

gruß

Hey!
Also wie gesagt, ich habe sehr wenig Erfahrung auf dem Gebiet der Batch-Programmierung.
Was ich bisher weiß ist, dass ich mit diesen Befehlen ("if exist" und "del") überprüfen kann, ob eine gewisse Datei existiert und falls ja, sie dann löscht.


if exist ???Pfad???\repair.exe
del ???Pfad???\repair.exe


"???Pfad???" würde ich jetzt allerdings gerne aus einer Registry herauslesen.

In einem anderen Thread steht irgendetwas von:


for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE/SOFTWARE/Blizzard Entertainment/World of Warcraft" /v InstallDir') do set "Pfad=%%j"


Ich weiß allerdings nicht, in wie fern ich das für meine Batch gebrauchen kann, da der ehemalige Thread-ersteller etwas von "hineinschreiben in INI-Dateien" sagte.

Die Registry lautet:

[HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft]
"InstallPath"="D:\\Programme\\World of Warcraft\\"

Und den InstallPath würde ich gerne für "???Pfad???" einsetzen lassen.

Zum Schluß noch eine Frage:
Wie lautet der Befehl für "Umbenennen"?

Würde mich über jegliche Hilfe freuen..
Nornoks
Bitte warten ..
Mitglied: bastla
17.06.2007 um 15:13 Uhr
Hallo Nornoks!

Auf Basis Deines Beispiels sollte das etwa so gehen:
01.
@echo off & setlocal 
02.
for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft" /v InstallPath') do set "Pfad=%%j" 
03.
if exist "%Pfad%\repair.exe" @echo del "%Pfad%\repair.exe"
Zum Testen: Solange in der letzten Zeile das "@echo" steht, wird der folgende Löschbefehl nur angezeigt , aber nicht ausgeführt. Der ev doppelte "\" vor "repair.exe" muss Dich nicht irritieren - die Datei wird auch so gefunden.

Falls der Registry-Wert nicht gefunden wird, erhältst Du entsprechend die Fehlermeldung " ;Fehler: Der angegebene Registrierungsschlüssel oder Wert konnte nicht gefunden werden." Diese Meldung kann unterdrückt werden, indem Du ersatzweise die folgende Zeile 2 verwendest:
01.
for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft" /v InstallPath <b>2^>nul</b>') do set "Pfad=%%j"
Das Umbenennen von Dateien wird mit "ren" oder "rename" erledigt (Hilfe dazu mit "ren /?").

Grüße
bastla
Bitte warten ..
Mitglied: Nornoks
17.06.2007 um 15:59 Uhr
Vielen Dank Bastla für die Antwort.
Allerdings funktioniert es nicht...
Meine Batch-Datei sieht so aus:

@echo off & setlocal
for /f "tokens=2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Blizzard Entertainment\World of Warcraft" /v InstallPath') do set "Pfad=%%j"
if exist "%Pfad%\repair.exe" del "%Pfad%\repair.exe"
if exist "%Pfad%\data\patch.mpq" ren "%Pfad%\data\windows.mpq"
if exist "%Pfad%\data\base.MPQ" del "%Pfad%\data\base.MPQ"
if exist "%Pfad%\data\dbc.MPQ" del "%Pfad%\data\dbc.MPQ"
if exist "%Pfad%\data\misc.MPQ" del "%Pfad%\data\misc.MPQ"
if exist "%Pfad%\data\terrain.MPQ" ren "%Pfad%\data\terrang.MPQ"

Weiß vielleicht jemand von euch, was ich falsch gemacht habe?

Schönen Gruß,
Nornoks
Bitte warten ..
Mitglied: bastla
17.06.2007 um 16:12 Uhr
Hallo Nornoks!

Allerdings funktioniert es nicht...
... ist als Fehlerbeschreibung verbesserungswürdig.

Was nicht funktionieren kann, ist das Umbenennen - die entsprechenden Zeilen müssten etwa so aussehen: "ren AlterNameMitPfad NeuerNameOhnePfad" - daher:
01.
if exist "%Pfad%\data\patch.mpq" ren "%Pfad%\data\patch.mpq" "windows.mpq"
Sollte es andere Fehler geben, kannst Du diesen besser auf die Spur kommen, wenn Du in der ersten Zeile aus "echo off" ein "echo on" machst - so werden alle Befehle zunächst angezeigt und dann erst ausgeführt.

Grüße
bastla
Bitte warten ..
Mitglied: Nornoks
17.06.2007 um 16:46 Uhr
Super!
Jetzt klappt alles. Vielen, vielen Dank für die Hilfe.

Schönen Gruß,
Nornoks
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...