In ein anderes Verzeichnis wechseln

sim4000

sim4000

Lebende Foren Legende
Nabend Leute.
Mein Programmierenlehrer in der Schule und ich wollen testen, ob man ein Dateisystem strengen kann, indem man in einer schleife immer ordner in ordner erstellt. Hab nemlich von dem gerücht gehört, das wenn man eine bestimmte ordnertiefe erreicht macht das Ds nich mehr mit. Und möchte mal testen ob da was passiert und was dann passiert.
Dazu hab ich ein kleines cpp-programm mit einer Schleife geschrieben.
Das mit dem Ordner erstellen geht auch. Nur in diesen dann herrein wechseln geht nicht.

Das soll so funken:
  1. Ordner erstellen
  2. In diesen Ordner wechseln
  3. wieder zurück zu 1

Wie schaffe ich es, in ein anderes Arbeitsverzeichnis zu wechseln?
Mfg, sim4000.
 
Äh,

wie wärs mit google bei solchen Fragen?

Hast du offensichtlich nicht gemacht, sonst hättest du z.B. gelesen das es das Kommando chdir für sowas gibt.
 
warum machst du nicht einfach ein script?

mit dem befehl kann "mkdir -p <verzeichnisname>" kannst du verzeichnisse anlegen...

ich kann mir das so vorstellen
 
warum machst du nicht einfach ein script?

mit dem befehl kann "mkdir -p <verzeichnisname>" kannst du verzeichnisse anlegen...

ich kann mir das ca. so vorstellen:
Code:
#!/bin/bash

verzeichnis=/home/blabla/

while [ letzteaktionerfolgreich ]
do
verzeichnis="$verzeichnis/A/"
mkdir -p $verzeichnis
letzteaktionerfolgreich=$?
done

ist natürlich nur eine idee und wahrscheinlich kein lauffähiges skript

[EDIT]: entschuldigung, ich weiß nicht warum ich da 2x gepostet habe...wäre nett, wenn
jemand den vorigen post löscht
 
Weil ich in der Schule C++ hab, und ich dann doch nich Shellscripte nutzen kann, oder?

Mfg, sim
 
interessanter thread, obwohl mir der sinn des ganzen noch nicht nahe liegt.

sofern du auf linux arbeitest kannst du immer irgendwelche shellscripte schreiben und ausführen. es sei denn die aufgabe ist die das du dass in c++ programmieren sollst.

@heady so ungefähr hätte ich das auch gedacht. nur mal noch ne frage. wenn die ordnertiefe tatsächlich beschränkt ist, gibts ne möghlichkeit das script dann automatisch zu beeneden und ein counter einzubauen, der zählt wie oft das programm die schleife durchlaufen hat?
 
Zuletzt bearbeitet:
Ich hab das so gaemacht:

Einfach in einer while immer Ordner erstllen, verzeichnis wechseln.
Dann hab ich noch in die while eine Variable eingebaut, die sich pro durchlauf....
Man! kann das nich erklären. Hier ist der Source:

Code:
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[]) {

int anzahl;
char antwort;

    do {
	cout << "Wie viele Ordner sollen erstellt werden ?" << endl;
	cout << "> "; cin >> anzahl; cout << endl << endl;
	cout << "Sind sie sicher (j/n) ?" << endl;
	cout << "> "; cin >> antwort; cout << endl << endl;
       }

while(antwort != 'j');


     do {
	system("mkdir ordner");
	cout << "ordner erstellt" << endl;
	chdir("ordner/");
	cout << "Verzeichnis gewechselt" << endl; 
	anzahl--;
       }

while(anzahl != 0);

  return EXIT_SUCCESS;
}
Aber sobalt man einen negativen Wert angibt, kann die Schleife ja nicht auf Null kommen und ist unendlich.

Mfg, sim4000.
 
Unendlich nicht, da es ja irgendwann zum Overflow kommt, aber ziemlich gross jedenfalls. ;)
 
Joa. Freu mich schon auf Mittwoch, da bekomm ich von einem der Lehrer einen Testrechner.
Das wird lustig. :D

Mfg, sim4000.
 

Ähnliche Themen

Ein komplizierteres Thema: Samba Server - XP-Pro Clients - wlan lan und und und

Server-Monitoring mit RRDTool

Zurück
Oben