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

Zum Inhalt wechseln

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

Verbesserungsvorschläge?

#16 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 - 20:54

Zitat (Foxhound: 03.05.2005, 21:40)

Ich weiß, ich kann das auch wenns sein muss in wenigen zeilen machen, aber ich wollte nen tolles menue....
Das kann man auch mit wenigen Zeilen machen ;)

Zitat (Foxhound: 03.05.2005, 21:40)

Weil das dann einfacher zu bedienen ist.
Wieso das? Der User führt doch nur eine Datei aus :wink:
Zwei Dateien reichen da doch aus, einmal das Skript und einmal die Regtweaks mit den Einstellungen.

Zitat (Foxhound: 03.05.2005, 21:40)

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?
Mit IF und FOR kann man so einiges mehr machen, zumal es für komplexere Aufgaben seit Win98 ja auch den WSH/cscript für Console-Batches gibt.

Zitat (Foxhound: 03.05.2005, 21:40)

Der Fehler liegt nicht bei dem nichtvorhandenen Vergleich, da es schon bei der ersten operation scheitert. Trotzdem danke dafür.
Angehängtes Bild: zorg.JPG
Komisch das es bei mir da mit einem Fehler abbricht!?
Zumal es sowieso diese Tweaks gar nicht machen sollte weil ich sie gar nicht gewählt hatte. ;)

Zitat (Foxhound: 03.05.2005, 21:40)

Aber was ist if defined? In der Konsole krieg ich da keine Infos drüber?
Siehe oben. Ich empfehle dir die Windows-Hilfe (falls du sie nicht ge-nLited hast?).


Zitat (Foxhound: 03.05.2005, 21:40)

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?
Windows-Hilfe. Tutorials habe ich dafür nicht wirklich.

Edit: Übersehen, rechnen kannst du mit SET /A

Zitat

Die /A-Option gibt an, dass die Zeichenfolge rechts vom Gleichheitszeichen
ein nummerischer Ausdruck ist, der ausgewertet wird. Das Auswertungsprogramm
des Ausdrucks unterstützt dabei die folgenden Vorgänge, entsprechend ihrer
Anordnung mit abnehmendem Vorrang:

    ()                  - Gruppierung
    ! ~ -              - monäre Operatoren
    * / %              - arithmetische Operatoren
    + -                - arithmetische Operatoren
    << >>              - logische Verschiebung
    &                  - bitweise UND
    ^                  - bitweise exklusives ODER
    |                  - bitweise ODER
    = *= /= %= += -=    - Zuordnung
    &= ^= |= <<= >>=
    ,                  - Trennzeichen für Ausdrücke

Wenn Sie einen der arithmetischen oder Moduloperatoren verwenden, müssen
Sie die Zeichenfolge für den Ausdruck in Anführungszeichen setzen. Alle
nicht-nummerischen Zeichenfolgen im Ausdruck werden als Zeichenfolgen von
Umgebungsvariablen behandelt, deren Werte vor der Verwendung in Zahlen
konvertiert werden. Wenn eine Umgebungsvariable angegeben wird, die nicht
definiert ist, wird für diese der Wert Null verwendet. Somit können Sie
mit Umgebungsvariablen Berechnungen vornehmen, ohne %-Zeichen einzugeben,
um deren Werte zu erhalten. Wenn der Befehl SET /A von der Befehlszeile,
d.h. außerhalb eines Befehlsskripts ausgeführt wird, dann zeigt er
den endgültigen Wert des Ausdrucks an. Der Zuordnungsoperator erfordert
eine Umgebungsvariable auf der linken Seite des Operators. Nummerische Werte
stellen immer Dezimalzahlen dar, es sei denn, sie haben ein Präfix 0x für
hexadezimale Zahlen, 0b für binäre Zahlen oder 0 für oktale Zahlen. Damit
stellt 0x12 dieselbe Zahl wie 18 oder 022 dar. Beachten Sie, dass die oktale
Schreibweise verwirrend sein kann: So sind 08 und 09 keine gültigen Zahlen,
da 8 und 9 keine erlaubten oktalen Ziffern sind.

Dieser Beitrag wurde von puppet bearbeitet: 03. Mai 2005 - 20:59

0

Anzeige



#17 Mitglied ist offline   Foxhound 

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

geschrieben 04. Mai 2005 - 12:44

Zitat

Siehe oben. Ich empfehle dir die Windows-Hilfe (falls du sie nicht ge-nLited hast?).


Habe ich. Und ich habe damit glaube ich auch die Hilfen entfernt :wink:

Zitat

Zumal es sowieso diese Tweaks gar nicht machen sollte weil ich sie gar nicht gewählt hatte. rolleyes.gif


Das ist ja das Problem, dass ich ich am anfang meinte. Ich probiere gleich mal, ob das daran liegt, dass ich die variablen mit "-zeichen umfasst habe.

Das mit dem nicht vorhandenen Vergleich stimmt schon, aber so weit war ich noch gar nicht. Erstmal will ich, dass die ausgewählten Punkte auch nur dann ausgeführt werden, wenn sie gewaehlt wurden.

Edit: Die "-zeichen müssen da sein, sonst stürzt das Programm sofort ab. Kann das auch einfach sein, dass da zu viele if-anweisungen im skript sind? Anders kann ich mir das nicht mehr erklären.

Dieser Beitrag wurde von Foxhound bearbeitet: 04. Mai 2005 - 13:24

0

#18 Mitglied ist offline   puppet 

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

geschrieben 04. Mai 2005 - 21:37

Zitat (Foxhound: 04.05.2005, 13:44)

Habe ich. Und ich habe damit glaube ich auch die Hilfen entfernt  ;(
Pech nennt man das ne?

Zitat (Foxhound: 04.05.2005, 13:44)

Das ist ja das Problem, dass ich ich am anfang meinte. Ich probiere gleich mal, ob das daran liegt, dass ich die variablen mit "-zeichen umfasst habe.

Das mit dem nicht vorhandenen Vergleich stimmt schon, aber so weit war ich noch gar nicht. Erstmal will ich, dass die ausgewählten Punkte auch nur dann ausgeführt werden, wenn sie gewaehlt wurden.
Ich glaube nicht das es zu viele IF Abfragen sind, afaik ist es egal wieviele du verwendest.

Zitat (Foxhound: 04.05.2005, 13:44)

Edit: Die "-zeichen müssen da sein, sonst stürzt das Programm sofort ab. Kann das auch einfach sein, dass da zu viele if-anweisungen im skript sind? Anders kann ich mir das nicht mehr erklären.
Also das String (X) musst du schon in den doppelten Anführungszeichen lassen.
Bei den Varis hat es bei mir bis jetzt immer ohne geklappt.

Wobei ich dir empfehle das Skript komplett zu überarbeiten, da der Code wirklich zu aufgebläht ist.
Vielleicht kommt so auch TheSuicider auf seine 2MB Batchcode ;D

Dieser Beitrag wurde von puppet bearbeitet: 04. Mai 2005 - 21:38

0

#19 Mitglied ist offline   Foxhound 

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

geschrieben 05. Mai 2005 - 07:24

Zitat

Also das String (X) musst du schon in den doppelten Anführungszeichen lassen.
Bei den Varis hat es bei mir bis jetzt immer ohne geklappt.


Habs eben ausprobiert. Wenn das so aussieht, stürzt das Programm plötzlich ab.

if %stat1%=="X" goto :operation1 else goto :endoperation1


Das %stat1% muss also auch in anführungszeichen.


Könnte das daran liegen, dass die Abfragen nicht befolgt werden, weil zwischen den Sprungmarkierugnen immer Leerzeilen liegen? Ich weiß ist unwahrscheinlich aber fragen kann man ja mal. Ich sehe da sonst keinen Fehler
0

#20 Mitglied ist offline   puppet 

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

geschrieben 05. Mai 2005 - 11:11

Mh'kay, ich vergleiche selten Strings, aber bei Strings scheint es notwenig zu sein (bei Ints funtkioniert es bei mir auch ohne doppeltes Anführungszeichen bei den Varis).
Aber deine If-Abfragen finde ich etwas verkompliziert, du fragst ob es X ist und wenn Ja soll es einfach weiter machen und wenn nicht soll es wohin springen, da kannst du gleich fragen ob es das nicht ist, und so funktioniert es bei mir auch:
if "%statX%" neq "X" goto endoperationX

Dieser Beitrag wurde von puppet bearbeitet: 05. Mai 2005 - 11:11

0

#21 Mitglied ist offline   Foxhound 

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

geschrieben 10. Mai 2005 - 14:06

Habe das Skript nochmal etwas gekürzt und es funktioniert auch so halbwegs. Falls jemand noch Fehler findet, meldet diese bitte.

Edit: @TheSuizider: erledigt

Angehängte Datei(en)


Dieser Beitrag wurde von Foxhound bearbeitet: 10. Mai 2005 - 15:24

0

#22 Mitglied ist offline   sкavєи 

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

geschrieben 10. Mai 2005 - 15:13

Ich finde es ziemlich umständlich bei Fehlerhaftem Tastendruck im Menü erst eine Fehlermeldung anzeigen zu lassen. ich glaube ich hatte dir schonmal ein Beispiel für ein Menü gegeben oder? Außerdem wird dein Menü so nicht funktionieren, da bei Eingabe welche !=1 ist, das Script sofort zu der Fehlermeldung springen müsste. Selbst wenn das funktionieren sollte ist der Code fehlerhaft, daher würde ich das ändern. Soviel dazu.
Ich werde es allerdings nicht ausprobieren, da ich mein eigenes Script (WinOptimize (vormals XpOptimize)) dafür habe, außerdem funktioniert dein Script ja leider nur unter Windows XP und Server 2003 (also allles nach NT 5.1), daher kann ich es derzeit auch gar nicht testen.

Dieser Beitrag wurde von TheSuicider bearbeitet: 10. Mai 2005 - 15:14

Eingefügtes Bild
Eingefügtes Bild
0

#23 Mitglied ist offline   puppet 

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

geschrieben 10. Mai 2005 - 20:13

Zitat (TheSuicider: 10.05.2005, 16:13)

Ich finde es ziemlich umständlich bei Fehlerhaftem Tastendruck im Menü erst eine Fehlermeldung anzeigen zu lassen. ich glaube ich hatte dir schonmal ein Beispiel für ein Menü gegeben oder? Außerdem wird dein Menü so nicht funktionieren, da bei Eingabe welche !=1 ist, das Script sofort zu der Fehlermeldung springen müsste. Selbst wenn das funktionieren sollte ist der Code fehlerhaft, daher würde ich das ändern. Soviel dazu.

Wieso sollte das nicht funktionieren? Sind doch normale Vergleiche mit Variablen und nicht mit ERRORLEVEL.
Und ne Fehlermeldung ist immerhin benutzerfreundlicher als gar nichts.
Wobei dies ziemlich umständlich ist, einfacher wäre es zu Vergleichen ob der Wert im gültigen (Menü-)Bereich liegt (man IF\Vergleichsoperatoren) und dann einfach GOTO oder eben ne Fehlermeldung.

Hier kann man auch noch was kürzen:
for %%i in (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37) do set stat%%i= %

Wie wäre es mit for %%bla IN(1,1,37) DO bla? Steht auch in der man zu IF :(

Aber ansonsten scheint es ja schonal zu funtkionieren (ohne die Tweak anzuschauen).

Zitat (TheSuicider: 10.05.2005, 16:13)

Ich werde es allerdings nicht ausprobieren, da ich mein eigenes Script (WinOptimize (vormals XpOptimize)) dafür habe, außerdem funktioniert dein Script ja leider nur unter Windows XP und Server 2003 (also allles nach NT 5.1), daher kann ich es derzeit auch gar nicht testen.

Es dürfte sicher auch mit deinem Win2k laufen, da es die Befehelszeilenerweiterungen da schon gab (ich glaube die gab es sogar schon bei NT4).
Aber ob es sinn macht ein "XPConfigTool" unter einem anderen OS als XP zu probieren ;(
Und durchlesen kann man es glaube auf fast jedem System, und "leider nur unter XP und Srv2k3" - naja ob es heut zu Tage noch (als Privatskripter) sinnvoll ist etwas für alte Systeme zu entwickeln? Ich denke mal nicht.
0

#24 Mitglied ist offline   Foxhound 

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

geschrieben 10. Mai 2005 - 20:18

Zitat

Wie wäre es mit for %%bla IN(1,1,37) DO bla? Steht auch in der man zu IF wink2.gif


Danke, werde ich ändern. Das in den man pages zu if habe ich wohl "übersehen" :(

Ich werde glaube ich auch noch hinzufügen, dass wenn das OS nicht WinXP ist, eine Fehlermeldung kommt und man es nicht nutzen kann.
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

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