2017-12-28 3 views
1

Ich habe eine Batch-Datei, und ich möchte die Ausgabe von ihm (txt) auf meinen FTP-Server hochgeladen.Upload Textdatei auf FTP in Batch-Datei, die zufällig generierten Dateiname

Code:

echo off 
set /p line= Input: 
echo %line%> C:\Users\Public\Folder\%random%%random%%random%%random%.txt 

Die Frage ist;
Wie kann ich meine Batch-Datei den generierten TXT, der einen vollständig zufällig generierten Namen hat, automatisch in mein FTP hochladen?

+0

Speichern Sie die zufällig generierten Dateinamen in einer anderen Variablen, bevor Sie es benutzen und es dann zweimal verwenden, das erste Mal, als die Ausgabedatei, und das zweite Mal mit FTP. – DavidPostill

Antwort

-1

starten, indem Sie die Dateinamen in einer Variablen zu speichern, wie so:

set FILENAME=C:\Users\Public\Folder\%RANDOM%%RANDOM%%RANDOM%.txt 

Dann sollte es nur eine Frage der sein, die Variable (Dateiname) in Ihrem FTP-Befehl.

+0

Wie genau speichere ich den Dateinamen in einer Variablen? – Karbonis

+0

Versuchen Sie dies: 'SET Dateiname = C: \ Users \ Public \ Ordner \% zufällige %% zufällige %% zufällige %% zufällige% .txt' – senpai

+0

Ich bin nicht sicher, wie für diese Antwort zu wählen, weil das bisschen über die Notwendigkeit es in einer Variablen zu speichern ist korrekt, aber alles andere ist falsch. Verzögerte Erweiterung wird hier nur helfen, wenn die Zeile in einem Codeblock ist und es nicht zu sein scheint. – SomethingDark

0

Sie müssen den zufälligen Dateinamen in einer Variablen speichern, so dass die Pseudovariablen %RANDOM% nur einmal aufgelöst werden.

Und dann müssen Sie das ftp Skript erzeugen mit diesen Variablen:

echo off 
set RANDOM_FILE=C:\Users\Public\Folder\%random%%random%%random%%random%.txt 
set /p line= Input: 
echo %line%> %RANDOM_FILE% 

echo open hostname>ftp.txt 
echo username>>ftp.txt 
echo password>>ftp.txt 
echo put %RANDOM_FILE%>>ftp.txt 
echo bye>>ftp.txt 
ftp -s:ftp.txt 
+0

Danke, das hat mein Problem gelöst. – Karbonis