WinFuture-Forum.de: Verbesserungsvorschläge? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Verbesserungsvorschläge?


#1 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 21. April 2005 - 14:02

Ich habe ein Batchskript geschrieben, dass einige Registrytweaks vornimmt. Hat hierzu noch jemand Verbesserungsvorschläge? Das Skript liegt im anhang bei.

Dieser Beitrag wurde von Foxhound bearbeitet: 03. Mai 2005 - 18:33

0

Anzeige



#2 Mitglied ist offline   Palnschi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 362
  • Beigetreten: 15. März 04
  • Reputation: 0

geschrieben 21. April 2005 - 14:07

Funktioniert das auch gut oder kann ich mir da was kaputt machen?

Einige sachen sind ja ganz interessant. Aber Ahnung vom batchen hab ich leider nich :)

edit: hab grad gesehen der macht je en backup, dann is ja alles gut..

Dieser Beitrag wurde von Palnschi bearbeitet: 21. April 2005 - 14:08

0

#3 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.857
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 21. April 2005 - 14:28

Zitat

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "MTU" /t REG_SZ /d "1500" /f

Ob das so eine gute Idee ist? 1492 wäre hier vielleicht besser, da viele mit PPPoE arbeiten.

Ach ja es wäre auch besser ein Backup der alten Werte zu erstellen die auch geändert wurden, weil ob es gut ist dann z.B. nach 2 Wochen das _komplette_ Registry Backup wiederherzustellen weil man merkt das ein Tweak doch nicht so gut funktioniert?

Noch was:

Erst

Zitat

echo Breitbandtweak durchfuehren...
[...]
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "MaxConnectionsPerServer" /t REG_DWORD /d "00000020" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "MaxConnectionsPer1_0Server" /t REG_DWORD /d "00000020" /f

und später dann

Zitat

echo Mache 10 gleichzeitige Downloads moeglich...
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "MaxConnectionsPerServer" /t REG_DWORD /d "00000010" /f 
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "MaxConnectionsPer1_0Server" /t REG_DWORD /d "00000010" /f

Dieser Beitrag wurde von puppet bearbeitet: 21. April 2005 - 14:32

0

#4 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 21. April 2005 - 15:10

Ok ich habs geändert. Das mit den einzelnen Werten als Backup kommst später nach.
0

#5 Mitglied ist offline   sкavєи 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.735
  • Beigetreten: 20. Juli 04
  • Reputation: 62
  • Geschlecht:Männlich
  • Wohnort:Stralsund

geschrieben 22. April 2005 - 21:06

Hihi, so habe ich auch mal angefangen. Und nun komme ich mit dem ganzen Code nicht mehr zurecht, weil's mittlerweile fast 2MB Batchcode sind und ich dermaßen viele Sachen reingepackt habe, dass ich gar nix mehr kapiere. Allerdings habe ich auch Menüs mit Untermenüs und einzelnen Abfragen für jeden Tweak sowie Überprüfung der Ausführung, Speicherung der ausgeführten Tweaks und Erstelllung von Einzelbackups sowie Kompatibilität für Windows 95, 98, NT 4.0, 2000, XP und 2003 mit drin. Da wird's dann richtig kompliziert. Wenn du mal ein Code-Beispiel haben willst Foxhound, dann sag bescheid. Zu Anfang wollte ich auch nur sowas ganz bescheidenes, wie das was du da jetzt hast, wo einfach alle Tweaks nacheinander ausgeführt werden.
Eingefügtes Bild
Eingefügtes Bild
0

#6 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 22. April 2005 - 21:26

Hui! 2mb batchcode sind schon mächtig viel! Ist das immer noch dein XPOptimize? Veröffentlichst du das nochmal? Oder kannst du mir das zukommen lassen?
0

#7 Mitglied ist offline   sкavєи 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.735
  • Beigetreten: 20. Juli 04
  • Reputation: 62
  • Geschlecht:Männlich
  • Wohnort:Stralsund

geschrieben 23. April 2005 - 00:55

Ich kann's weder veröffentlichen, noch werde ich dir dieses Code-Monster zuschicken, da ich denke, dass du genau solche Probleme haben wirst wie ich, und der gesamte Code so voller Fehlern ist, dass da gar nicht's anständig läuft. Aber ich kann mal sehen, ob ich noch eine alte Lauffähige Version finde, welche ich dir zuschicken kann (wie gesagt Code-Beispiel , aber halt nicht den gesamten Code). Schick mir einfach mal 'ne PM mit deiner E-Mail Adresse oder schreib mich im ICQ oder Jabber an.

Falls ich die Probleme mit dem Code nochmal ausgemerzt bekomme (könnte evtl. in den sommerferien klappen), dann werde ich es natürlich veröffentlichen. Im übrigen suche ich immer noch nach Leuten die mir helfen Registry-Schlüssel zu schreiben.

Dieser Beitrag wurde von TheSuicider bearbeitet: 23. April 2005 - 00:58

Eingefügtes Bild
Eingefügtes Bild
0

#8 Mitglied ist offline   XiLeeN2004 

  • Gruppe: aktive Mitglieder
  • Beiträge: 580
  • Beigetreten: 16. Juni 04
  • Reputation: 50
  • Geschlecht:Männlich
  • Wohnort:Ahrensburg
  • Interessen:Aikidō (Godan), Schwimmen, Motorradfahren ('35er Indian Four, noch von meinem Vater), Dampfmodellbau, Kino

geschrieben 23. April 2005 - 03:11

Ähmmm... Ich komm mir etwas blöd vor... Ich habe mir die Batch angeschaut und spontan gedacht, daß das Menü nicht funktioniert...

echo.
set /p choice=Bitte waehlen Sie: %

if /i "%choice%"=="1" goto :phase1 else goto :usrerr

if /i "%choice%"=="2" goto :informationen else goto :usrerr
if /i "%choice%"=="3" goto :backup else goto :usrerr
if /i "%choice%"=="4" exit else goto :usrerr

:usrerr
cls


Also ich lese das so: Wenn "choice" gleich "1" ist, dann gehe nach ":phase1", wenn nicht, dann gehe nach ":usrerr"

Somit müßte die Batch doch immer nach ":usrerr" springen, sofern die erste Eingabe keine "1" ist. Zu den weiteren Abfragen nach "2", "3", "4" dürfte es gar nicht mehr kommen... Tatsächlich aber funktioniert das Ganze!

Kann mir jemand sagen, wo ich da falsch denke?

Gruß
XiLeeN
Eingefügtes Bild
0

#9 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 23. April 2005 - 06:56

Edit: Hatte nichts mit der Frage zu tun.

Das wird halt so interpretiert, dass er erst alle bedingungen durchgeht.

@TheSuicider: Ich habs mir anders überlegt :wink: . Ich versuche lieber komplett alleine was zu schreiben.

Dieser Beitrag wurde von Foxhound bearbeitet: 23. April 2005 - 07:03

0

#10 Mitglied ist offline   sкavєи 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.735
  • Beigetreten: 20. Juli 04
  • Reputation: 62
  • Geschlecht:Männlich
  • Wohnort:Stralsund

geschrieben 23. April 2005 - 18:14

@Xileen: Irgendwie hast du recht, damit eine Abfrage diese Art Einwandfrei läuft müsste sie so aussehen:
:Choice01
CLS
SET choice=xyz
ECHO.
[...]
ECHO.
SET /p choice=Bitte waehlen Sie: (1/2/3/4)
IF /i "%choice%"=="1" GOTO :Phase1
IF /i "%choice%"=="2" GOTO :Informationen
IF /i "%choice%"=="3" GOTO :Backup
IF /i "%choice%"=="4" EXIT
GOTO :Choice01
So wird auch bei Fehleingabe nicht ein Fehler ausgegeben sonder die Abfrage von vorne gestartet.

Außerdem würde ich einen eigenen Abschnitt für EXIT verwenden und nicht den Exit-Befehl direkt durch die Abfrage ausführen lassen.
Also statt:
IF /i "%choice%"=="4" EXIT
Das ganze eher so gestalten:
IF /i "%choice%"=="4" GOTO :Exit
[...]
:Exit
CLS
ECHO.
ECHO Das Script wird nun beendet.
ECHO (Taste drücken)
PAUSE>nul
EXIT


@Foxhound: Auch gut, aber wenn du Fragen hast kannst du dich gerne bei mir melden. Ich helfe gern.

Dieser Beitrag wurde von TheSuicider bearbeitet: 23. April 2005 - 18:17

Eingefügtes Bild
Eingefügtes Bild
0

#11 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Mai 2005 - 18:36

Ich habe es mal ein wenig überarbeitet, aber irgendwie funktioniert das nicht so ganz wie ich möchte. Kann mir jemand sagen, warum bei :phase3 einfach missachtet wird, ob man die option ausgewählt hat oder nicht?

Dieser Beitrag wurde von Foxhound bearbeitet: 10. Mai 2005 - 14:04

0

#12 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.857
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 03. Mai 2005 - 19:07

Sorry, aber der Code ist ziemlich unübersichtlich und aufgebläht.
Und bei goto benötigst du keinen Doppelpunkt. Ein Wunder das es so überhaupt geht.
Und wenn du mit IF eine Vergleichsoperation durchführst und es sich bei einem Operator um eine Vari handelt darfst du diese nicht in doppelten Anführungszeichen schreiben.

Zumal man die ganze Sache mit einem kleinen Skript, ein paar Schleifen, einer Funktion um die Reg-Werte zu backupen und zu schreiben und einer Konfig-Datei für die Reg-Werte/Einstellungen lösen kann.

Wo hast du eigentlich das Batch-Skripting gelernt?
0

#13 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Mai 2005 - 19:19

Zitat

Sorry, aber der Code ist ziemlich unübersichtlich und aufgebläht


Weshalb es tolle Editoren, wie z.B. Notepad2 gibt, die die Syntax farbig untermalen.

Zitat

Und bei goto benötigst du keinen Doppelpunkt


Ich weiß, man kann aber einen setzen, was für mich übersichtlicher ist.

Zitat

Und wenn du mit IF eine Vergleichsoperation durchführst und es sich bei einem Operator um eine Vari handelt darfst du diese nicht in doppelten Anführungszeichen schreiben.


Hm, ich werds mal ausprobieren.

Zitat

Zumal man die ganze Sache mit einem kleinen Skript, ein paar Schleifen, einer Funktion um die Reg-Werte zu backupen und zu schreiben und einer Konfig-Datei für die Reg-Werte/Einstellungen lösen kann.


Und wie, dass es noch eine Datei bleibt? Ich hatte auch schon überlegt, ob man die ganzen setbefehle nicht mit einer Schleife machen könnte, ich weiß aber nicht wie.

Zitat

Wo hast du eigentlich das Batch-Skripting gelernt?


Wieso das denn? Im Internet, gab es einige Tutoriale und ich habe ein paar andere codes gelesen, aber eigentlich braucht man doch sowieso nur die Befehle+Parameter, oder nicht? Ausserdem soll das ein Skript zum üben werden. Ist das wirklich so schlecht geschrieben?

Dieser Beitrag wurde von Foxhound bearbeitet: 03. Mai 2005 - 19:34

0

#14 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.857
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 03. Mai 2005 - 19:40

Zitat (Foxhound: 03.05.2005, 20:19)

Weshalb es tolle Editoren, wie z.B. Notepad2 gibt, die die Syntax farbig untermalen.
Ja aber trotzdem, fast 1000 Zeilen für knapp 40 Tweaks? ;)

Zitat (Foxhound: 03.05.2005, 20:19)

Ich weiß, man kann aber einen setzen, was für mich übersichtlicher ist.
Mh ok geht tatsächlich, hab es nur bis jetzt noch nie so gesehen.

Zitat (Foxhound: 03.05.2005, 20:19)

Hm, ich werds mal ausprobieren.
Das meinte ich mit Unübersichtlichkeit ;)
Da ist es immer mühsam und langwierig einen Fehler zu finden.

Zitat (Foxhound: 03.05.2005, 20:19)

Und wie, dass es noch eine Datei bleibt? Ich hatte auch schon überlegt, ob man die ganzen setbefehle nicht mit einer Schleife machen könnte, ich weiß aber nicht wie.
Wieso willst du es in einer Datei haben? Das in einer seperaten Datei zu haben ist doch viel besser, zumal man sich die Einstellungen dann für spätere Verwendung aufheben kann. Und du musst bei neuen Tweaks nicht immer das ganze Programm ändern.

Zitat (Foxhound: 03.05.2005, 20:19)

Wieso das denn? Im Internet, gab es einige Tutoriale, aber eigentlich braucht man doch sowieso nur die Befehle+Parameter, oder nicht?
Naja es gibt auch noch viel mehr was man damit machen kann ;)

Zitat (Foxhound: 03.05.2005, 20:19)

Ausserdem soll das ein Skript zum üben werden.
Das wusste ich nicht, es dachte soll ein Produktivskript sein.

Ach ja wie wäre es mit einem mode con lines=44 nach :phase3 damit man nicht immer scrollen muss?

Ach ja und dein Fehler liegt übrigens hier (du solltest %stat8% mit etwas vergleichen, übrigens gibt es auch if defined :wink: ):
:endoperation7

if "%stat8%" goto :operation8 else goto :endoperation8

Dieser Beitrag wurde von puppet bearbeitet: 03. Mai 2005 - 19:42

0

#15 Mitglied ist offline   Foxhound 

  • Gruppe: aktive Mitglieder
  • Beiträge: 366
  • Beigetreten: 29. November 04
  • Reputation: 0

geschrieben 03. Mai 2005 - 20:40

Zitat

Ja aber trotzdem, fast 1000 Zeilen für knapp 40 Tweaks?


Ich weiß, ich kann das auch wenns sein muss in wenigen zeilen machen, aber ich wollte nen tolles menue....

Zitat

Das meinte ich mit Unübersichtlichkeit wink.gif
Da ist es immer mühsam und langwierig einen Fehler zu finden.


Also ich finde das ist nix übersichtliches, ich dachte nur da müssen anführungszeichen hin.

Zitat

Wieso willst du es in einer Datei haben? Das in einer seperaten Datei zu haben ist doch viel besser, zumal man sich die Einstellungen dann für spätere Verwendung aufheben kann. Und du musst bei neuen Tweaks nicht immer das ganze Programm ändern.


Weil das dann einfacher zu bedienen ist.

Zitat

Naja es gibt auch noch viel mehr was man damit machen kann


Was denn? Ist mir auch klar, dass man nicht nur tweaken kann, aber man kann damit doch nur windowseigene dos/batch befehle benutzen oder nicht?

Zitat

Ach ja und dein Fehler liegt übrigens hier (du solltest %stat8% mit etwas vergleichen, übrigens gibt es auch if defined wink2.gif ):


Der Fehler liegt nicht bei dem nichtvorhandenen Vergleich, da es schon bei der ersten operation scheitert. Trotzdem danke dafür. Aber was ist if defined? In der Konsole krieg ich da keine Infos drüber?

Zitat

Ach ja wie wäre es mit einem mode con lines=44 nach :phase3 damit man nicht immer scrollen muss?


Gute Idee, werde ich mal ergänzen.

Hast du nen gutes Tutorial zu batch, damit ich demnächst uebersichtlicherer fehlerfreie skript hinbekomme? Und noch ne Frage: Rechnen kann man mit batch nicht oder?
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0