Status
Für weitere Antworten geschlossen.

delfin

Well-known member
Mitglied seit
31 August 2004
Beiträge
112
hallo zusammen
ich habe ein BAT/CMD geschrieben. Es funktioniert nicht so ganz wie ich mir dies vorstelle.

Verzeichnis auslesen:

Code:
REM Build transfer Template
echo open 127.0.0.1 > transfer.ftp
echo user >> transfer.ftp
echo password >> transfer.ftp
REM create root directory
echo mkdir test >> transfer.ftp
REM Build Directory Structure
for /f "tokens=1,2,3,4 delims=\" %%a in ('dir C:\test\transfer /ad /o /b /s') do @echo mkdir %%b\%%c\%%d >> transfer.ftp
REM create transfer list
for /f "tokens=1,2,3,4,5 delims=\" %%A in ('dir C:\test\transfer /a-d /o /b /s') do @echo send %%~pfB%%~pC%%C%%~pD%%D%%~pE%%E %%~B%%~pC%%C%%~pD%%D%%~pE%%E >> transfer.ftp
hier der erfolgreiche versuch:
echo quit >> transfer.ftp
echo by >> transfer.ftp

=====
Das Resultat dieser Datei siehst so aus:

open 127.0.0.1
user
password
mkdir test
mkdir test\transfer\test1
mkdir test\transfer\test2
send C:\test\test\test\transfer\test\test1\test\testdat ei.txt test\test\transfer\test\test1\test\testdatei.txt
send C:\test\test\test\transfer\test\test2\test\a.rtf test\test\transfer\test\test2\test\a.rtf
send C:\test\test\test\transfer\test\test2\test\hallo yves.wav test\test\transfer\test\test2\test\hallo yves.wav
send C:\test\test\test\transfer\test\test2\test\testdat ei1.wav test\test\transfer\test\test2\test\testdatei1.wav
quit
bye

=====
Es sollte aber so aussehen:

open 127.0.0.1
user
password
mkdir test
mkdir test\transfer\test1
mkdir test\transfer\test2
send C:\test\test1\testdatei.txt
send C:\test\transfer\test2\a.rtf
send C:\test\transfer\test2\hallo yves.wav
send C:\test\transfer\test2\testdatei1.wav
quit
by

=====
wo ist mein denkfehler, das er mir dies so komisch darstellt? Den so kann ich den Befehlt

ftp -s:xtrans.ftp

nicht ausführen, da er die dateien nicht findet wäre toll, wenns gehen würde

 

Sini1

Well-known member
Mitglied seit
24 März 2008
Beiträge
1.381
re

Hallo

Ich verstehe nicht ganz was du machen willst. Möchtest du Daten auf einem FTP Server laden? Und sollte nicht nach "dir" das Verzeichnis stehen wie C:?

Bitte um mehr INFOS was du genau machen willst.

MFG:pennywise

 

delfin

Well-known member
Mitglied seit
31 August 2004
Beiträge
112
was ich machen ist:

ich habe ein verzeichnis, wo meine einige dateien darin sind, welche ich mittels batch gerne auf einen ftp hochladen will.
den batch würde ich dann in den "geplanten Task" ablegen. so das dieser dan zu gewissen zeiten die transferiert.

der batsch sollte dies machen.

Verzeichnisstrucktur auslesen (mkdir)
danach
Auslesen der einzelnen Verzeichnissen (dir)

so sollte es dann aussehen.

mkdir test
mkdir test\transfer\test1
mkdir test\transfer\test2
send C:\test\test1\testdatei.txt
send C:\test\transfer\test2\a.rtf
send C:\test\transfer\test2\hallo yves.wav
send C:\test\transfer\test2\testdatei1.wav

 

Xiaolong

Well-known member
Mitglied seit
2 September 2006
Beiträge
1.994
Kommen immer neue Verzeichnisse hinzu oder bleibt die Verzeichnisstruktur gleich?

Wenn sie gleich bleibt würd ich halt aufm FTP erstmal alle Verzeichnisse anlegen und dann per

cd verzeichnis/unterverzeichnis
mput *.*

alles uploaden. Für jedes Verzeichnis dann halt eine neue Zeile mit

cd

Was anderes fällt mir im Moment nicht ein aber ich schau mir gleich ma deinen Code etwa näher an.

EDIT: Hab mir den Code ma angeschaut. Also ich erkenne da keinen Fehler, und vor allem seh ich nicht was die doppelten Einträge erstellt ?(?(

 
Status
Für weitere Antworten geschlossen.
Oben