anstatt c: eine andere möglichkeit ?

  • #1
S

sigie007

Guest
hallo
habe eine frage in meiner batch datei steht da c aber ich habe kein c laufwerk sondern z.b. i: somit muß ich das immer ändern

gibt es eine möglichkeit das die batch auf die bootpartition zugreift ohne das man es durch einen buchstaben festlegen muß
 
  • #2
sigie007 schrieb:
hallo
habe eine frage in meiner batch datei steht da c aber ich habe kein c laufwerk sondern z.b. i: somit muß ich das immer ändern

gibt es eine möglichkeit das die batch auf die bootpartition zugreift ohne das man es durch einen buchstaben festlegen muß

Also erstmal wäre es schön zu wissen was du für ein Betriebssystem hast. Als nächstes wäre es mir vollkommen neu das man bei einem M$ Betriebssystem KEIN Laufwerk C hat. Ein Laufwerk C hast du meines erachtens IMMER. Was meinst du übrigens mit z.b. i: somit muß ich das immer ändern? Wechselst du Laufwerksbuchstaben (Das ist nur ein vergleich und nicht böse gemeint ;) ) wie Unterhosen? Im Normalfall sind deine Laufwerksbuchstaben recht festgelegt. (Es sei denn du, ein Script oder sonstwas ändern diese). Was machst du eigentlich mit der Batch, vieleicht gibt es ja einen anderen Weg über den du die Aufgabe (was auch immer du mit der Batch erledigst) erledigen kannst.

Windows 2000, XP und Co greifen so

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=Microsoft Windows XP Professional /fastdetect

auf die Bootpartition zu. Allerdings verwenden die auch einen Bootloader der wiederum auf eine INI Datei zugreift und ich bezweifle ganz ganz stark das du derartige Kunstgriffe mit einer Batch erledigen kannst. Jedenfalls nicht mit der oben genannten Möglichkeit.

Ein paar mehr Informationen wären nicht verkehrt um dir effektiv helfen zu können!
 
  • #3
@echo off
Echo ---------------------------------------------------
Echo ---------------------------------------------------
echo -- Automatische Updates , Sicherungen ... --
Echo ---------------------------------------------------
Echo Art der Ausfuehrung - Stattus -
Echo ---------------------------------------------------
Echo Antivir Virus Definition Update -Bitte Warten ...-
Start /wait i:\Programme\AVPersonal\INETUPD.exe
Echo ---------------------------------- OK -
wait a
Echo ---------------------------------------------------
Echo Antivir Virus Definition Update -Bitte Warten ...-
Start /wait i:\Programme\AVPersonal\AVWIN.EXE /BASK /DYNoMsg /i:
Echo ---------------------------------- OK -
wait a
Echo ---------------------------------------------------
Echo System Sicherungen -Bitte Warten ...-
start /wait I:\Programme\Z-DBackup\ZDBackup.exe -b 1
Echo ---------------------------------- OK -
Echo ---------------------------------------------------
wait a
Echo Alles Erledigt ...
wait a
echo Ende ...
exit

also das ist mein script und z.b. auf einen anderen computer muß ich wieder die laufwerke ändern , das meine ich damit , sonst funktioniert das nicht .

wie kann man ausserdem einen fehler abfangen , kann man das script vieleicht auch noch irgend wie schöner schreiben (verbessern)
 
  • #4
Also wenn du dieses Script auf X verschiedenen Rechnern zum gleichen Zweck einsetzen willst und diese nicht umschreiben willst (was ich zwar nicht ganz nachvollziehen kann) musst du schon ein wenig Hirnschmalz einsetzen und ein wenig Tricksen. Mir würde auf anhieb nur eine Möglichkeit einfallen die allerdings ein Netzwerk bzw. mindestens eine Netzwerkkarte vorraussetzt.

Du könntest nämlich über Umgebungsvariablen und Netzwerkfreigaben arbeiten.

Mach einfach mal wenn du Lust hast folgendes. Setz auf eines deiner Verzeichnisse (z.B. AVPersonal) eine Netzwerkfreigabe (Sie muss auf jedem Computer auf dem selben Verzeichniss sitzen). Nun kannst du über die Umgebungsvariable %computername% und den Freigabennamen deinen Pfad zusammensetzen wo die auszuführende .exe steht. Am Beispiel der Virusdefinitionen würde es wie folgt aussehen:

%computername%\NAME DER FREIGABE\INETUPD.EXE

(Es kann sein das du vor %computername% noch // setzen musst)

So in etwa könntest du dir über ein paar Kunstgriffe behelfen, aber es ist eben eine Sau arbeit das erstmal zum laufen zu bekommen. Funktioniert aber. Wir haben mit einer ähnlichen Lösung ein Login Script für unsere client PC in der Firma modifiziert. (Wir sichern damit beim Systemstart Prüfdaten auf den Server weil wir es im Betrieb nicht machen dürfen)



P.S. Reden wir hier von einer Rechneranzahl im 1, 2, 3 oder noch mehr Stelligen Bereich?
 
  • #5
4 rechner aber nicht die eigenen sondern von freunden etc... ist einfacher für die nur drauf zu klicken ;-)

wie kann man einen fehler abfangen
if error .... habe es vergessen , ein beispiel wer ganz nett ;-)
 
  • #6
Also wenn es nur 4 Rechner sind und noch dazu nicht deine, dann empfehle ich dir wirklich die Batch auf jeden Rechner einmal anzupassen und sie (wie du es wahrscheinlich eh gemacht hast) in den Autostart zu legen. 4 Batchs sind deffinitv leichter erstellt/umgeschrieben als die von mir vorgeschlagene Variante. Denn die rechnet sich erst bei weitaus mehr Rechnern.

Zum Thema Fehler Abfangen bzw. Batch Programmierung musst du dich mal bei Google schlau machen. Hab seit Jahren nicht mehr mit IF Verschachtelungen gearbeitet. Gab mal einen guten Artikel bei heise (Ausgabe 16/2003) der hies glaube ich Windows virtuos. Da wurde sehr schön und ausführlich auf die Batch Programmierung eingegangen. Inverstier doch die 3? und kauf dir au Heise.de unter Kiosk die entsprechende Ausgabe. Oder google dich durch.

Sorry, mehr Infos hab ich auch nicht.
 
  • #8
Also ich würde für die 4 doch eigentlich identischen Skripte mit Umgebungsvariablen arbeiten:

Code:
@echo off
set AVUPDDIR=i:\Programme\AVPersonal\INETUPD.exe
set AVSCAN=i:\Programme\AVPersonal\AVWIN.EXE /BASK /DYNoMsg /i:
set ZDBCKUP=I:\Programme\Z-DBackup\ZDBackup.exe -b 1
Echo ---------------------------------------------------
Echo ---------------------------------------------------
echo -- Automatische Updates , Sicherungen ...        --
Echo ---------------------------------------------------
Echo Art der Ausfuehrung              - Stattus        -
Echo ---------------------------------------------------
Echo Antivir Virus Definition Update  -Bitte Warten ...-
Start /wait %AVUPDDIR%
Echo ----------------------------------    OK        -    
wait a
Echo ---------------------------------------------------
Echo Antivir Virus Definition Update  -Bitte Warten ...-
Start /wait %AVSCAN%
Echo ----------------------------------    OK        -    
wait a
Echo --------------------------------------------------- 
Echo System Sicherungen              -Bitte Warten ...-
start /wait %ZDBCKUP%
Echo ----------------------------------    OK        -
Echo --------------------------------------------------- 
wait a
Echo Alles Erledigt ...  
wait a
echo Ende ...
exit

So oder so ähnlich sollte es funktionieren. Syntaxfehler nicht ausgeschlossen (hab schon laang kein Batchskript mehr gemacht). Aber ich denke das Prinzip ist klar.

Du müsstest dann nur kurz die 3 Variablen ganz oben anpassen, bevor du das deinen Usern schickst.

Sanfte Grüße
 
  • #9
Hallo

die variable für die System partition ist %SystemDrive%.
Wenn du ins Programme Verzeichnis willst dann %ProgramFiles%.
Wenn du zb. dorthin möchtst => i:\Programme\AVPersonal\INETUPD.exe
Dann => %ProgramFiles%\AVPersonel\Inetupd.exe
dabei bedenken das so immer das Programme Verzeichnis auf der Systempartition aufgerufen wird. Und =>ProgramFiles<= nur mit einem M sonst laüft es nicht.

Wenn du mehr Variablen brauchst einfach mal googlen, da findest du noch etliche.

Gruss
 
Thema:

anstatt c: eine andere möglichkeit ?

ANGEBOTE & SPONSOREN

Statistik des Forums

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