Systembefehle bei Windows



  • In meinem Programm hab ich mittels

    system("format c:");
    

    die Funktion zum Formatieren hervorgekramt.
    Nun möchte ich aber, das der automatisch, ohne das ich eine Eingabe machen muss, gleich den nächsten Schritt macht. Wie geht das? Ich benutze Dev-Cpp auf Windows XP.

    Danke schon im voraus.



  • formatieren ohne zu fragen?



  • hallo
    ich weis nicht ob's heute noch funktioniert. bei alten ms-os gab's die undoku-
    mentierten schalter /autotest und /select.
    müssten etwa so einzusetzen sein :
    system("format a: /select");

    wie gesagt : pc-steinzeit, undokumentiert und eventuell nur für disketten. hab
    keine lust sowas auf meinem pc zu testen.

    mfg f.-th.



  • ja, ich will ein Prog schreiben, womit man gezielt auf mehreren Rechner formatieren kann. Klingt jetzt sehr bösartig, ich weiß.
    Das Problem ist folgendes:
    In meiner Schule gibt es sehr sehr sehr sehr sehr viele Rechner. Weil die alle mal einer Formatierung bedürfen(vom Lehrer aus), müsste der jeden einzelnen Rechner formatieren. Manuell. Und da hab ich gesagt, das ich mal gucken kann, ob ich nicht sowas programmieren könnte, womit man alle Rechner auf einmal formatiert. In dem Programm ist noch viel mehr drin, als nur der Formatierer.



  • na was nun? Keine Antwort? 😞



  • was heißt: alle rechner auf einmal?
    über netz?



  • Die Schule hat ein Intranet. Das ist eine Berufsfachschule. Und der Lehrerrechner kann via VNC und der Lehrerkonsole auf die Schülerrechner zugreifen. Inhalt anschauen, einfach alles. Unter anderem auch Programme an alle Rechner im Netzwerk auf Knopfdruck schicken und ausführen lassen.



  • Naja, wenn's über das Intranet gehen soll, wirst du mit einem einfachen "format c:" nicht hinkommen. Da musst du afaik mit Sockets eine Server- Sowie eine Client-Applikation machen, wobei letztere dann auf jedem Computer installiert werden muss und die Formatierung einleitet.

    Sonst könnte ja jeder Computer der Welt einfach alle anderen formatieren (letzendlich ist das Internet ja auch nur eine Art erweitertes Intranet)...

    Ansonsten schreib dir ein ShellScript, dass das für dich macht; Die Datei musst du dann nur noch auf jeden Computer kopieren und einmal ausführen; Dass geht, denke ich, noch am schnellsten!



  • Das letztere meinte ich doch die ganze Zeit. Der Lehrer hat ein Programm(WinVNC), mit dem er so gut wie gleichzeitig Programme oder Dateien auf alle Rechner im Netzwerk verschicken kann.
    Wenn das Programm dort angekommen ist, soll es sich auf Abruf von WinVNC(womit man auch gleichzeitig das Programm auf allen Rechnern ausführen kann) starten und die Formatierung einleiten.
    Dummerweise kann ich mit [code]system("format c:"); nicht direkt formatieren, sondern müsste noch ein "Y" eingeben, damit der wirklich formatiert. Doch weiß ich nicht, wie ich das eingebe.



  • Wenn ich mich nicht irre, dann kanst du die Systempartition (die Partition auf der Windows drauf installiert ist) nicht formatieren, wenn Windows geladen ist. Du musst mit einer Startdiskette oder der Installations CD machen.

    Wenn ihr alle PC neu aufsetzen wollt, dann formatiert doch einen PC, installiert Alles, was drauf soll, und macht ein Image von der Platte. Das Image packt ihr dann auf alle Rechner drauf.



  • Also, dort ist die Systempartition E. Nur sind C und D total vermüllt mit Pornos, Musik, Filmen, Spielen und haufenweise Fake-Dateien. Das lässt den ganzen Rechner lahmen.



  • das proplem mit 'Y' beim format sollte sich mit

    system("format c: < yes");
    

    und der datei 'yes' mit inhalt Y umgehen lassen
    K.



  • Takeo schrieb:

    Also, dort ist die Systempartition E. Nur sind C und D total vermüllt mit Pornos, Musik, Filmen, Spielen und haufenweise Fake-Dateien. Das lässt den ganzen Rechner lahmen.

    Eine volle Partition lässt Windows nich langsamer werden, eine volle Registry schon. Die Partitionen zu formatieren hat den gleichen Effekt, wie einfach den kompletten Inhalt darauf zu löschen. Das Problem ist, dass du zwar die Daten der Spiele erwischt, nicht aber die Registry Einträge, die beim Systemstart alle geladen werden.

    Was ich damit sagen will: Wenn du Windows wieder flott machen willst, dann muss sich warscheinlich unter den formatierten Partitionen auch die Systempartition finden.

    Um ganz korrekt zu sein: Wenn in Windows in einem verzeichniss mehr als 10000 Dateien liegen, dann dauert das aufrufen eines Verzeichniss sehr lange. Das wird aber kaum die gesamte Systemperformance betreffen, da ja von Windows nur das Windows-Verzeichniss benötigt wird. Wenn das total überlaufen ist, dann hilft dir hier auch nur formatieren, der Systempartition...



  • Ah. Okay. Aus dem Blickpunkt hab ich das noch garnicht betrachtet.
    Besteht eine Möglichkeit, diese Daten auch aus der Registry zu entfernen?

    -----------
    Ihr seid einfach eine geile Community. Bin froh das ich hier her gefunden hab.



  • Generell nein.
    Die Registry ist einfach zu komplex, und egal wie gut du dich auskennst: Du kannst nir garantieren, dass der Eintrag, den du löscht, auch wirklich nciht gebraucht wird. Es gibt viele Programme, die den Inhalt der Regitry u.a. auf verwaiste Dateien überprüfen, aber letzendlich ist und bleibt es ein Zufallsspiel!

    Eine falsche Änderung kann dein Windows schrotten (per Hand kein Problem, aber ein Programm denkt bei so etwas halt nicht nach) -> Fegt da lieber die Partition komplett leer und installier Windows komplett neu; Eine bessere Methode gibt es i.d.R. nicht!



  • Okay, danke! Somit hat sich das wohl dann erledigt.



  • hallo

    also zusammenfassung : wenn die hdd's total unübersichtlich, dann nachsehen
    ob alle software, die installiert werden muss, vorhanden ist. dann hdd
    formatieren alles notwendige neu installieren. danach mit einer image-software
    das neuinstallierte auf cd oder dvd brennen. sollte die hdd wieder in einem
    desolaten zustand sein, brauch nur das image aufgespielt werden. allerdings
    sollten neue programme installiert werden müssen, dann erst das image und dann
    das neue programm und dann, wenn's rennt, ein neues image erststellen.

    ich hoffe ich hab nichts wesentliches vergessen.

    mfg f.-th.



  • Wenn es tatsächlich so schlimm is, sollten die Rechner mal komplett neu gemacht werden, das ist schon sinnvoll.
    Das ginge mit ner Start Diskette und einer batch datei bestimmt schonmal leicht.

    Und dann wie oben erwähnt image ziehen und draufspielen [geht natuerlich nur bei gleichen systemkomponenten]

    Dann sollte man am besten Userrechte vergeben und die User dann nix installieren lassen und keinen Schreifzugriff//Schreibzugriff auf Quota ebene gewähren.



  • Userrechte: Im allgemeinen sind wir dort Rechtelos. Außerdem ist dort sowas wie ein Datenairbag drauf. Doch den haben einige schon nach ein paar Stunden ausschalten können. Von daher kann man dann auch installieren, ohne das es nach einem Neustart gelöscht wird.

    Ich wollte halt bloß was programmieren, damit der Lehrer(das klingt immer irgendwie blöd) nicht jeden Rechner einzeln rannehmen muss. So kann er alle "zugleich" formatieren.



  • also das mit "< yes" klappt nicht so recht. Aber vielleicht hab ich auch bloß was falsch gemacht. Hab ihr den Inhalt Y gegeben.

    Muss die Datei ein bestimmtes Format haben? Eigentlich nicht. Oder?


Anmelden zum Antworten