AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Parameterübergabe an cmd.exe

Ein Thema von Nikolas · begonnen am 15. Mai 2007 · letzter Beitrag vom 15. Mai 2007
Antwort Antwort
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#1

Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:08
Hallo

Ich bin gerade dabei ein Programm zu schreiben, dass mir tex-Dateien in pdfs kompiliert. Dabei benutze ich die texify.exe, die ich über per cmd aufrufe.
Der Befehl sieht dann so aus: '/k texify --pdf C:\bla\Dokument.tex', der Aufruf also:
Shellexecute(0,'open','cmd',pchar(Befehl),pchar(Ziel),1); Das Ziel ist der Ordner, in den später das pdf-Dokument abgelegt wird. Wenn nun das pdf-Dokument direkt auf C liegt (C:\Dokument.tex) funktioniert es so, wie ich das gerne hätte. Liegt die Datei aber z.B. auf dem Desktop, öffnet sich zwar cmd, aber ich bekomme die Nachricht das die Datei nicht gefunden wurde.
Liegt die Datei sonstwo auf einer anderen Festplatte funktioniert die Funktion auch.

Mein Verdacht sieht jetzt so aus, dass cmd zu Beginn auf C:\Dokumente und Einstellungen\Besitzer eingestellt ist und dann die Pfade aneinender hängt, wenns nicht der gleiche Laufwerksbuchstabe ist und sich daran verschluckt. Leider ist das mein erster cmd Versuch, so dass ich jetzt festhänge.

Könnte mir da vielleicht jemand weiterhelfen?

Nikolas
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:11
Quote den Pfad.
Markus Kinzler
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:13
Du Führst cmd im <Ziel> aus, also könnte es doch sein das du in <Ziel> keine Schreibrechte besitzt. Dein Desktop ist aber im Userpfad und dort haste ja schreibrechte.

Vieleicht liegts daran

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:20
Und der Sieger des heutigen Wettbewerbs ist klar nach Punkten: mkinzler !!!

In der Rekordzeit von 3 Minuten und einer leicht kryptischen Antwort. Nicht schlecht. Danke schön.

Könntest du mir vielleicht auch noch sagen, warum?

Danke auch dir Matthias
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:24
Ganz einfach: Durch Leerzeichen im Pfad wird der Pfad als mehrere Parameter interpretiert
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Parameterübergabe an cmd.exe

  Alt 15. Mai 2007, 21:32
Aso. Das heisst, das Problem war nicht der Laufwerksbuchstabe sondern nur, der Ordner 'Einstellungen und Dokumente'. Na toll. Daran habe ich jetzt 2h gesessen...
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz