[C/C++] Batch -- Verzeichnis ermitteln

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von ubuntu4live, 29. Oktober 2008 .

  1. 29. Oktober 2008
    Batch -- Verzeichnis ermitteln

    Hi Leute, ich habe folgendes Problem. Ich möchte mit einem Batch Programm, zur not auch C++ Programm erstellen, das das Verzeichnis eines Programms ermittelt und dort arbeitet. Das heiß das dieses Verzeichnis wahrscheinlich C:\Programme\Programmname ist. Aber unter Vista ist das ja auch wieder anders. Dort heißt es Programm Files... Was ich sicher sagen kann, ist das sich in dem Programmverzeichnis bestimmte Dateien befinden, die ich kenne. (z.b. programm,exe oder programmconfig.exe) Kann man evtl. nach genau diesen Dateien suchen um das Verzeichnis zu ermitteln? In dem Verzeichnis sollen dann diese bestimmten Dateien angepasst werden. Ich muss nämlich mehrere Rechner einstellen, da wäre es einfacher so. Es kann auch vorkommen dass das Programm in einem ganz anderen Verzeichnis installiert ist. Was das Batch Programm in dem besagten Verzeichnis macht, ist klar. Nur eben nicht wo. Ich hoffe ich habe das Problem verständlich erklärt. Hoffe auf Hilfe! mfg
    EDIT: Ich komme ganz gut klar mit Batch und C++. Also brauche keine Schritt für schritt anleitung sonden nur ein Gedankenanschub, und vll ein code schnipzel
     
  2. 29. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    hab ne Möglischkeit gefunden wie man daten fiden kann:
    ich denn die datei find.bat
    Code:
    @pushd \
    cd\
    dir /S /B /A: H S R A \ | FIND /I "%1"
    @popd
    
    mit folgenem Beefehl kann man jetzt eine datei finden:
    Code:
    find.bat <dateiname.end>
    die ausgabe ist dann das Verzeichnis wo sich die Datei befindet.
    Kann ich die Ausgabe irgenwie in eine weitere Variable speichern und dann damit arbeiten?
    mfg
     
  3. 29. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    Benutz %CD%, z.B. echo %CD%
    das gibt dir das aktuelle verzeichnis aus

    ansonsten, hol dir die pwd.exe aus den GNU-Win32-Tools, damit gehts auch
     
  4. 29. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    ich frag mal anders:
    ich möchte eine datei suchen
    z.b so
    Code:
    dir c:\<name> /s /b >C:\ergebnis.txt 
    das würde aber den Ort, also das Verzeichnis wo die Datei liegt in eine Datei speichern, wie speicher ich das in einer variable, so das ich in das gefundene Verzeichnis mit cd <variable> wechseln kann?
    mfg
     
  5. 29. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    variable speichern wäre dann

    Code:
     set var=%CD% 
     
  6. 31. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    hmm irgendwie raff ich das nicht.
    Wen jemand eine Idee hat würde ich mich über sein Code sehr freuen. Also ich will ja nur das Verzeichnis einer Datei ermittelt und sofort in dieses Verzeichnis wechseln. Oder gibt es eine andere Mäglichkeit Programmverzeichnise zu ermitteln. Vll. mit einer bestimten Variable? Wie z.b %temp% oder (ich glaube das heißt so) %userdata%.
    Bitte um Hilfe!
    LG
     
  7. 31. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    wenn du wissen willst, ob eine datei im verzeichnis existiert, müsstest du mit dem befehl

    Code:
    if exist <Beispieldatei> echo %CD% > Verzeichnis.txt
    arbeiten

    damit wird das verzeichnis in die datei Verzeichnis.txt geschrieben

    wenn du das verzeichnis auf einer variable speichern willst:

    Code:
    if exist <Beispieldatei> set var=%CD%
     
  8. 31. Oktober 2008
    AW: Batch -- Verzeichnis ermitteln

    Ah danke das ist auch sehr hilfreich. Für mein Problem habe ich jetzt aber eine Lösung gefunden:
    Code:
    For /F "Tokens=*" %%i in ('Dir /B /S C:\Dateiname.ext') do CD "%%~dpi"
    MFG
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.