Benötige jemanden der mir eine Dos Batch schreiben kann.

LarsPB

Grünschnabel
Guten Abend in die Runde. Vorab ich habe null Ahnung in diesem Bereich.

Ich möchte das die Batch von meinem Programm eine Url in einem Dateinamen Speichert.

Vorab, es geht um ein Photo Booth Programm. Jedes Foto wird auf einen Server gespielt und das Programm erzeugt eine URL.

mit einem Dos Batch kann man diese Auslesen.

hier die Infos die ich habe:

Triggers/API

und es geht um den Befehl:
  • file_upload [file] [file_type] [album_name] - When a ...IST] hoffe es kann mir jemand helfen. Danke
 
Auf der Seite die du verlinkt hast steht, dass im Prinzip auch ein Programm aufgerufen werden kann:
[appname.exe] [EventType] [param1?] [param2?]

Außerdem ist ja ein Beispiel für eine Batch angegeben:
Code:
:: contents of test.bat - make sure temp directory exists
@echo off
echo Batch File Started: %date% %time%
:: Optionally log the received event and params for event types
echo Batch file started  >> c:\temp\status.txt
echo Received event: %1 >> c:\temp\status.txt
echo Received param1: %2 >> c:\temp\status.txt
echo Received param2: %3 >> c:\temp\status.txt

:: Log the received event and params for a specific event type.
IF "%1"=="countdown_start" (
  echo "Countdown Started" >> c:\temp\countdown_only.txt 
)

:: Optionally log the current date and time
echo Completed: %date% %time%  >> c:\temp\status.txt

Ich möchte das die Batch von meinem Programm eine Url in einem Dateinamen Speichert.
Das ist jetzt natürlich ziemlich ungenau...
Wenn ich raten müsste, würde ich sagen du willst wahrscheinlich sowas in der Art hier:
Code:
@echo off
:: Das Verzeichnis C:\temp muss existieren!

IF "%1"=="file_upload" (
  :: Logge das ganze hier in eine Datei
  echo Speichere URL %3 für Datei %2 ab >> C:\temp\log.txt
 
  :: Speichere die URL ab im Format DATEINAME : URL
  echo %2 : %3 >> C:\temp\urls.txt
 
  :: Syntax:
  :: %2 ist [file]
  :: %3 ist [url]
  :: %4 ist [file_type]
  :: %5 ist [album_name]
)

Aber eigentlich müsstest du noch etwas genauer werden was du willst.

Gruß Technipion
 
Hey habe es getestet läuft noch nicht.

Also ich habe wirklich null Ahnung davon.

Also mein Programm macht ein Foto und schiebt es automatisch auf den Foto server : www.fotoshare.co
Hier wird das Foto dann z.B. unter test-uplode abgelegt. Diese Adresse kann man mit dieser Funktion ermitteln (file_upload [file] [file_type] [album_name])

Die Batch muss mir dann z.B. im Ordner C:\temp jeweils eine neue Datei schreiben mit der URL als Dateiname. Am liebsten nur der letzte teil 287j237 und dann als jpg
 
Okay, also du hast wie auf der verlinkten Seite beschrieben einen Trigger eingerichtet, der die Batch-Datei aufruft? Dann kannst du zum Testen mal meine Batch laufen lassen (nicht vergessen vorher einen Ordner temp auf Laufwerk C: anzulegen), und ein Bild hochladen. Es müssten dabei zwei neue Dateien entstehen: C:\temp\log.txt und C:\temp\urls.txt

Wenn das funktioniert, wissen wir immerhin schonmal, dass alles richtig eingerichtet ist.
Wie man eine URL aufteilt, habe ich hier gefunden: How do I break apart a URL to its component parts in Batch?

Eine Frage hätte ich da allerdings noch.
Am liebsten nur der letzte teil 287j237 und dann als jpg
Was heißt "dann als jpg"? Soll die Datei im Prinzip eine Kopie des Originals sein? (Dann müsste man ja die ursprüngliche Datei einfach nach C:\temp\XYZ.jpg kopieren...)

Gruß Technipion
 
Leider passiert noch nix hier mal ein paar Bilder

1. die TXT datei
2. umgewandelt in .bat
3. hier wird sie aufgerufen

im Ordner temp ändert sich nix
 

Anhänge

  • IMG_1301.jpg
    IMG_1301.jpg
    217,5 KB · Aufrufe: 6
  • IMG_1302.jpg
    IMG_1302.jpg
    93,3 KB · Aufrufe: 5
  • IMG_1303.jpg
    IMG_1303.jpg
    204,1 KB · Aufrufe: 5
Die url soll ja der Dateiname sein. es geht nur um den Namen nicht um das Bild. aber mein anderes Programm das den Ordner überwachen soll kann nur jpg ermitteln und den Dateinamen ausdrucken.
das heisst es muss jedes mal eine neue Datei im Ordner sein mit 287j237.jpg 287j237 ist jeweils der link name
 
Das ist komisch.

Öffne mal eine Konsole (Shift gedrückt halten und Rechtsklick auf den Desktop -> "Command hier öffnen" oder "Powershell hier öffnen") und gib folgendes ein:
Upload.bat file_upload Dateiname Url

Dann müsste eigentlich was in C:\temp ankommen.
 
Zurück