WinFuture-Forum.de: Cmd-datei: Wie Gebe Ich Den Pfad Zwei Ordner Weiter Höher An - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Cmd-datei: Wie Gebe Ich Den Pfad Zwei Ordner Weiter Höher An


#1 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 10. Januar 2007 - 14:54

Hallo,

brauche dringend Hilfe bei einer Textzeile von meinem Programm.
Man hat einen Ordner der namendlich unbekannt ist. In diesem Ordner befindet sich ein weiterer Ordner Namens data sowie eine script-Datei namens script.cmd. In dem Ordner data befindet sich eine exe-Datei namens test.exe.
Abbildung:
...\?
...\?\data\test.exe
...\?\script.cmd

Die test.exe hat eine Schalter der auf den unbekannten Ordner zielen soll. Welche Sachen müssen hinter test.exe /Parameter: stehen? Was muss hinter Parameter stehen?

Dieser Beitrag wurde von Gunnar-hro bearbeitet: 10. Januar 2007 - 14:55

0

Anzeige



#2 Mitglied ist offline   hoschen 

  • Gruppe: aktive Mitglieder
  • Beiträge: 748
  • Beigetreten: 12. Februar 04
  • Reputation: 2

geschrieben 10. Januar 2007 - 15:05

den nächst höheren Ordner bekommst mit ..\ und eine Ordner da drüber mit ..\..\

Also müsste deine Zeile in etwa so aussehen:

..\data\test.exe /Parameter:..\..\und weiteres

0

#3 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 10. Januar 2007 - 15:19

Wenn dein Script jedoch was größer ist, verlierst du mit den ganzen ..\ ...\...\ usw. irgendwann die Orierentierung. Lustiger wirds noch, wenn die Ordner sich mal ändern sollten.

Daher ist es angebracht, dass du in deinem Script vorher Variablen definierst.
set datenPfad = "d:\daten"
set scriptPfad = "d:\script"

%datenPfad%\test.exe /Parameter %scriptPfad%\dasEineScript
%datenPfad%\test.exe /Parameter %scriptPfad%\dasAndereScript

Sieht dadurch was schöner aus und du sparst dir das komische "Zurückspringen" durch ..\
0

#4 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 10. Januar 2007 - 20:51

Na das mit dem ..\..\ habe ich auch schon probiert aber mal schauen, vielelicht habe ich nur was falsch gemacht.
Es wird ja auch nur einmal ausgeführt. Mein Problem ist ja, dass der User einen Ordner angeben muss, der dem Programm aber nicht namendlich und von der Position bekannt ist. Innerhalb des Ordners werden dann mehrere Datein verändert. Ich probiere erstmal eure beiden Vorschlägt. Gibt es sonst nicht ein Befehl, wo man den Pfad in einer Variable speichern könnte wie ;
pfad=..\local directory (oder welchen Befehl auch immer)
datei.exe /parameter:%pfad%
oder sowas in der Art, kenn leider nicht die Befehle, fang erst damit an.
0

#5 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 11. Januar 2007 - 08:45

@Witi - Damit setze ich doch einen statischen Pfad oder nicht? Genau das kann ich und möchte ich auch nicht.

Hat leider nicht funktioniert. Hier meine Zeile.
call .\data\datei.exe /parameterXY:..\..\
Ersetze ich die ..\ durch den realen Pfad funktioniert es, aber sonst nicht. Jemand eine Lösung vielleicht?
Eine andere Möglichkeit wäre, den[u] Ordner, in dem der Ordner data liegt, der muss irgendwie erfasst werden. Das Programm mäckert auch andauernd rum, dass es einen vollständigen Pfad haben will. Und nun?

Dieser Beitrag wurde von Gunnar-hro bearbeitet: 11. Januar 2007 - 08:48

0

#6 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 11. Januar 2007 - 08:58

Guck dir mal dieses kleine Konstrukt an:
@echo off
set /P foo="Ach...Alles Frickler: "
echo %foo%

0

#7 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 11. Januar 2007 - 09:07

/parameterXY:..\..\

Irgendwie hab ich das Gefühl, daß du uns veralbern willst.

Nochmal: Du solltest \..\.. ANHÄNGEN.

-> /parameterXY:%pfad%\..\.., wenn %pfad% halt der Parameter ist, der übergeben wird.

Oder du kannst mit "for /d %%i in (%0) do (foobar /parameterXY:%%~dpi..\..)" direkt den Pfad des 0ten Arguments nehmen.


So etwa. Ich hab nachwievor noch nicht kapiert, was du überhaupt genau machen willst.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#8 Mitglied ist offline   Gunnar-hro 

  • Gruppe: aktive Mitglieder
  • Beiträge: 134
  • Beigetreten: 16. Januar 05
  • Reputation: 0

geschrieben 11. Januar 2007 - 09:24

SOrry, muss mich einfach mehr mit der Materie beschäftigen. Habs so gelöst bekommen.
call .\data\datei.exe /parameter*:%cd%

parameter* steht für das parameter der datei.exe

Habe seit dem ich aus der Lehre raus war alles über Programmierung vergessen, aber trotzdem danke für Eure Geduld. Werd mir mal die Hilfe vom Komandozeilentool ausdrucken, lesen, lernen und verstehen und dann mal schauen. :D
0

#9 Mitglied ist offline   Airwolf3000 

  • Gruppe: aktive Mitglieder
  • Beiträge: 51
  • Beigetreten: 21. Dezember 06
  • Reputation: 0
  • Wohnort:Hamm
  • Interessen:Computer<br />CS1.6<br />CC ZH <br />

  geschrieben 12. Januar 2007 - 22:43

geb doch einfach dem "?" einem Namen zb %Ordner123% schon ist das problem gelöst Hier ein Beispiel :
...
set /p "?"=%ordner123%
...

---
%ornder123% erstest du statt allem was ? heist !
---
nun ist dieser ordner benannt ! sollte man es so regeln das du das in der CMD ein gibst sollte es so aussehn
set /p Ordner=
[nun ist das parameter des einggebenen:]
%Ordner%

(geht auch mit gleichungen und Eingang der CMD )
MFG
AIRWOLF
--------------------------------------------
Only two things are infinite,
the universe and human stupidity,
and I'm not sure about the former!
--------------------------------------------
0

Thema verteilen:


Seite 1 von 1

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