Paar Fragen zu Batch-Dateien !? HILFE !!!

  • #1
S

-SpuTniK-

Mitglied
Themenersteller
Dabei seit
26.02.2005
Beiträge
19
Reaktionspunkte
0
Hallo @ all !

Ich habe paar Fragen zu Batch Dateien ! Kann mir jemand da weiter helfen !?
Danke im Vorraus !!!

1 Frage:
Ich möchte das beim öffnen der setup.bat die setup.bat 2 weitere Dateien in C:\BatchProg\ erstellt: start.bat und readme.txt
sagen wir mal mit folgendem Inhalt:

start.bat
@echo off
echo Hallo zusammen !!!
exit

readme.tx
Dast ist mein kleines Programm ....

Meine Frage ist: Wie sehe da der Befehl aus !?


2 Frage:
Wie kann ich mit hilfe einer Batch Datei einen Eintrag in der Registry machen !? Damit beim jedem Windows Start ein Programm gestartet wird !?
Ich glaube damit müsste es gehen !? Bin mir aber nicht sicher !?

regedit /s [REG-Datei]

Also genau gesagt der soll einen Eintrag machen damit beim jedem Windows Start dieses Programm gestartet wird:
C:\BatchProg\start.exe

Meine Frage ist: Wie sehe da der Batch Befehl aus !? (Mit Registry Schlüssel usw.)
 
  • #2
echo @echo off>start.bat
echo echo Hallo zusammen !!!>>start.bat
echo exit>>start.bat

echo Das ist mein kleines Programm ....>readme.txt

Einträge in die Registry kannst Du mit regedit/s machen, wie Du schon geschrieben hast.
Um den registry-file zu erstellen, öffnest Du am besten selbige mit regedit, suchst die gängige stelle für Autostarts (HKLM\software\Microsoft\windows\CurrentVersion\Run). Dann erzeugst Du durch Rechtsklick auf die rechte Seite eine neue Zeichenfolge mit den gewünschten Einträgen. Dann klickst Du die neue Zeichenfolge an und gehst auf Datei-exportieren. Nach dem Export öffnest Du die Datei mit Notepad und löschst die anderen Autostarteinträge raus.
 
  • #3
Wauuuuuuuuuuuuuuuuuuu ! Hat alles geklappt ! Bohhhh ich bin dir so dankbar ! Danke

habe da noch paar Fragen zu Batch Dateien !?

1. Wie kann man einen Registry Eintrag den man mit Hilfe einer .reg datei gemacht hat , wieder löschen !? Wie sehe da der Befehl in der .reg Datei aus !?

2. Wie kann man eine Batch Datei als Dienst Starten ?! Gibt es da eine Möglichkeit sowas zu machen !? Weil mit .exe Datein kann man sowas soweit ich weiß machen ! Die Frage ist nur wie !? hmmmm
Und wenn ich das als Dienst machen würde, würde den die Datei auch beim Abgesichertem Windows gestartet !? oder nicht !? Wenn nein kann man den Abgesicherten Wondows Modus auch irgendwie deaktivieren !?

3. gibt es eine Möglichkeit msconfig zu sperren !? ich weiß das man den Task-Manager oder Startmenü (was sich unten links befindet) sperren kann ! aber msconfig !? hmm

4. Man kann ja über Batch Datei nach Dateien suchen !? Kann man der Suchfunktion auch einen Befehl zu weisen, der dafür sorgt das wenn etwas gefunden wurde ! er die datei kopiert ( oder löscht , oder verschiebt ...) und wenn nichts gefunden wurde solle er ein text ausgeben ! z.b Habe nichts gefunden !!
 
  • #4
Rückgängig machen kann man das, indem man ein Minuszeichen vor die Einträge in der *.reg setzt.

Batchdateien lassen sich nicht als Dienste starten. Es lassen sich so einfach auch nicht exe-Dateien als Dienst starten. Ein Dienst darf kein Benutzerinterface haben und muss über den Dienstkontrollmanager verwaltet werden können. Im abgesicherten Modus würde der Dienst wohl nicht gestartet. Ob der wiederum deaktiviert werden kann, weiss ich nicht.

Frage 3 kann ich nicht beantworten.

Frage 4:

@echo off
c:
cd\
dir/s/b Datei>c:\temp\pfad.txt
set /P FILE=<c:\temp\pfad.txt
del c:\temp\pfad.txt
copy %FILE% c:\temp

Funktioniert aber nur mit den Befehlserweiterungen von XP oder auch Win2000.
 
  • #5
gast0815 schrieb:
Rückgängig machen kann man das, indem man ein Minuszeichen vor die Einträge in der *.reg setzt.


Frage 4:

@echo off
c:
cd\
dir/s/b Datei>c:\temp\pfad.txt
set /P FILE=<c:\temp\pfad.txt
del c:\temp\pfad.txt
copy %FILE% c:\temp

Funktioniert aber nur mit den Befehlserweiterungen von XP oder auch Win2000.

Hi ! bohh echt danke für deine Antworten ! Es freut richtig einen !!!
Ehmm wie meinst du das mit dem Minus !?
so fügt man ja etwas mit hilfe von Batch Datei in die Registry ein:
regedit /s C:\test.reg

so sieht meine test.reg datei aus :
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
Test=\C:\\Test.exe\

Wenn ich denn Einttrag jetzt wieder aus der Registry löschen möchte, wie mache ich das genau !? bzw wo setze ich das minus Zeichen genau hin !?
-------------------------------------------------------------------------------------------------
Mit der Suche verstehe ich das nicht irgendwie ! ;-( Sorry bin noch ein Anfänger !
ich wollte das so machen: zb ich sage der batch datei sie soll alle Bilder die sie auf meiner Festplatte findet wo anders verschieben (bzw kopieren) und zwar nach c:\gefundeneBilder ! wo ich dann alle gefundene Bilder mir angucken kann ! Und alle die ich nicht mehr brauche, löschen kann !!! p.s bei einem gefundene bild soll er die soche selbstverständlich weiter machen bis er die ganze Festplatte durchsucht hat. Und jedes gefundene Bild verschiebt er in das oben angegebene Verzeichnis. Eventual kann er auch erst die Pfade zu den Bildern in eine Text datei schreiben ! und dann nach dem Suchvorgang die Textdatei auslesen ! und den inhalt dan verschieben.

Ich währe dir sehr Dankbar wenn du mir da irgendwie helfen lönntest !?
 
  • #6
Alle Dateien finden und verschieben sollte so gehen:

@echo off
c:
cd\
for /R %%A in (*.jpg *.bmp) do move %%A c:\temp

Zeichenfolgen aus der Registry löschst Du anhand Deines Beispiels so:

Test=-

Ein Minus nach dem Gleichheitszeichen setzen und den *.reg-File wieder mit regedit/s importieren.
Den gesamten Schlüssel HKLM....\Run löschst Du mit einem Minus nach der ersten eckigen Klammer,

also [-HKEY_LOCAL_MACHINE....
 
  • #7
gast0815 schrieb:
Alle Dateien finden und verschieben sollte so gehen:

@echo off
c:
cd\
for /R %%A in (*.jpg *.bmp) do move %%A c:\temp

Zeichenfolgen aus der Registry löschst Du anhand Deines Beispiels so:

Test=-

Ein Minus nach dem Gleichheitszeichen setzen und den *.reg-File wieder mit regedit/s importieren.
Den gesamten Schlüssel HKLM....\Run löschst Du mit einem Minus nach der ersten eckigen Klammer,

also [-HKEY_LOCAL_MACHINE....


wau ! danke klapt wunderbar ! :)
aber eins gefählt mir nur nicht und zwar das:

1 Datei(en) kopiert.
1 Datei(en) kopiert.
Die Datei kann nicht in sich selbst kopiert werden.
0 Datei(en) kopiert.
Die Datei kann nicht in sich selbst kopiert werden.
0 Datei(en) kopiert.
1 Datei(en) kopiert.

habe anstatt das : for /R %%A in (*.jpg *.bmp) do move %%A c:\temp
das gemacht: for /R %%A in (*.jpg *.bmp) do copy %%A c:\temp
also move zu copy !!! und dann kommt sowas !? ich glaube er versucht die datei dann irgendwie nocheinmal zu kopieren !? achja nochwas ! ich habe mährere Festplatten also c: d: wie muss ich das verändern das er auch noch auf der Platte d: sucht !? einfach die selben befehle kopieren und den Laufwerksbuchstaben ändern klappt ! also so !

@echo off
c:
cd\
for /R %%A in (*.jpg *.bmp) do move %%A c:\temp

d:
cd\
for /R %%A in (*.jpg *.bmp) do move %%A c:\temp

aber kann man denn Befehl irgendwie verkürtzen !? ???
 
  • #8
Im Moment sehe ich den Fehler auch nicht. Du könntest mal Echo auf on setzen und das ganze in einem Dos-Fenster ausführen um sehen zu könnnen, wo der Fehler auftritt.
Das mit dem Laufwerksbuchstaben D: ist richtig. Was willst Du denn da noch kürzen ?

edit:
Möglicherweise tritt der Fehler auf, weil die Batchdatei im selben Verzeichnis liegt, wie zu kopierende Dateien. Falls das bei Dir so ist, lege sie mal in ein neues leeres Verzeichnis.
 
  • #9
gast0815 schrieb:
Im Moment sehe ich den Fehler auch nicht. Du könntest mal Echo auf on setzen und das ganze in einem Dos-Fenster ausführen um sehen zu könnnen, wo der Fehler auftritt.
Das mit dem Laufwerksbuchstaben D: ist richtig. Was willst Du denn da noch kürzen ?

edit:
Möglicherweise tritt der Fehler auf, weil die Batchdatei im selben Verzeichnis liegt, wie zu kopierende Dateien. Falls das bei Dir so ist, lege sie mal in ein neues leeres Verzeichnis.


ehmmm ! habe das Problem schon selber gelöst ! Trozdem danke für deine Antwort ! :)
 
  • #10
Hallo zusammen... ich hätte da auch noch ne frage... wie kann ich es machen, dass mir eine batch datei 2 programme öffnet und mich vor dem 3. fragt ob er es öffnen soll... geht das denn überhaupt??
 
  • #11
MeineBatchdatei.bat:
----------------------------------------------------------------------------------------------------------------------------
@echo off
start C:\MeinErstesProgramm.exe
start C:\MeinZweitesProgramm.exe
echo Bitte eintippen
echo 1=Ja
echo 2=Nein
set /p Antwort=
if %Antwort% equ 1 start C:\MeinDrittesProgramm.exe
if %Antwort% equ 2 goto weiter
exit
:weiter
echo Dann eben nicht
pause
exit
----------------------------------------------------------------------------------------------------------------------------

Das sollte funktionieren.
 
  • #12
Jo... vielen dank... geht.. ;D
Thx.. und cu
 
  • #13
Hi

ALso da ich of mit einer formel rechnen muss hab ich mir ein kleines rechenprogramm erstellt. SO funktioniert alles gut aber wie funktioniert das mit dezimalzahlen also mit , ??? ALles was hinter den kommer steht wird weggelassen sowohl in der eingabe und ausgabe.

danke im vorraus
 
Thema:

Paar Fragen zu Batch-Dateien !? HILFE !!!

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben