<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Per FTP mit Windows-Bordmitteln Unterverzeichnisse Ã¼bertragen (rekursives FTP)</title>
	<atom:link href="http://www.adminbox.de/2009/per-ftp-mit-windows-bordmitteln-unterverzeichnisse-ubertragen-rekursives-ftp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adminbox.de/2009/per-ftp-mit-windows-bordmitteln-unterverzeichnisse-ubertragen-rekursives-ftp/</link>
	<description>Notizen eines Systemadministrators</description>
	<lastBuildDate>Fri, 02 Dec 2011 13:27:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: cisab</title>
		<link>http://www.adminbox.de/2009/per-ftp-mit-windows-bordmitteln-unterverzeichnisse-ubertragen-rekursives-ftp/comment-page-1/#comment-311</link>
		<dc:creator>cisab</dc:creator>
		<pubDate>Sun, 27 Dec 2009 12:07:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.adminbox.de/?p=150#comment-311</guid>
		<description>danke!!</description>
		<content:encoded><![CDATA[<p>danke!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Torsten</title>
		<link>http://www.adminbox.de/2009/per-ftp-mit-windows-bordmitteln-unterverzeichnisse-ubertragen-rekursives-ftp/comment-page-1/#comment-309</link>
		<dc:creator>Torsten</dc:creator>
		<pubDate>Sat, 26 Dec 2009 10:41:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.adminbox.de/?p=150#comment-309</guid>
		<description>Hallo Cisab,

zu Deinen Fragen:
&lt;code&gt;mkdir c:\temp &gt;nul &lt;/code&gt;erstellt nicht die Ordnerstruktur, sondern erstellt auf C: nur einen temporÃ¤ren Ordner fÃ¼r die Zwischenspeicherung des FTP-Skriptes. Dieser Ordner ist in den meisten FÃ¤llen eh vorhanden, der Befehl fÃ¼hrt daher zu einer Fehlermeldung, die mit &quot;&gt;nul&quot; unterdrÃ¼ckt wird. So ist das Batchfile sicher, dass der Ordner C:\temp auf jeden Fall existiert.

Zum Thema &quot;echo prompt&quot; und &quot;echo bin&quot; empfehle ich Dir die Hilfe von FTP.EXE. Einfach Ã¼ber START/AusfÃ¼hren/CMD eingeben. An der Kommandozeile dann &quot;FTP&quot; (ohne AnfÃ¼hrungszeichen) eingeben und Enter drÃ¼cken. Du befindest Dich jetzt in der FTP-Konsole. Mit dem Befehl &lt;code&gt;help prompt&lt;/code&gt; bzw. &lt;code&gt;help bin&lt;/code&gt; kannst Du die (zugegebenermaÃŸen magere) Hilfe zu diesen Befehlen aufrufen.
Die Schleife ist wirklich etwas komplizierter:

Der Befehl &lt;code&gt;dir /b /s /ad&lt;/code&gt; gibt alle Ordner (/ad) unterhalb des aktuellen Ordners (/s) in Kurzform (/b) aus. Diese Ausgabe wird in der FOR-Schleife zur weiteren Bearbeitung benutzt. &lt;code&gt;FOR /F&lt;/code&gt; bedeutet: mache irgendwas mit jeder Zeile, die aus dem Befehl in den Kammern kommt (das kann Ã¼brigens auch eine Textdatei sein, siehe Hilfe zum Befehl FOR). In der Variablen %%I steht nun die einzelne Zeile. Im DO-Teil der FOR-Schleife wird die zweite Batch mit den Parameter %%I (also eine Zeile aus &lt;code&gt;DIR /b /s /ad&lt;/code&gt;) und einer bearbeiteten Fassung von %%I Ã¼bergeben. %%~pI%%~nI solltest Du vielleicht mal selbst in einer Testbatch verwenden, um zu sehen, was passiert. Mehr dazu: START/AusfÃ¼hren/CMD und dann &lt;code&gt;help for &lt;/code&gt;eingeben.

&quot;echo quit &gt;&gt;c:\temp\ftp.skr&quot; beendet die FTP-Kommandozeile, nicht die Batchdatei. QUIT ist ein FTP-Befehl.

Die zweite Batchdatei wird benÃ¶tigt, weil auf jede Zeile aus der FOR-Schleife mehrere Befehle angewendet werden. Dies ist einer FOR-Schleife nicht mÃ¶glich. Man kann jedoch eine Batchdatei aufrufen, die ihrerseits die Ã¼bergebenen Parameter wunschgemÃ¤ÃŸ verarbeitet.

%2 ist der zweite Parameter, der an die Batchdatei Ã¼bergeben wurde. 
&lt;code&gt;set rftp=%rftp:~1%&lt;/code&gt; sorgt dafÃ¼r, dass aus der Variablen %rftp% das erste Zeichen elimiert wird.
&lt;code&gt;echo mkdir %rftp%&lt;/code&gt; sorgt dafÃ¼r, dass der FTP-Kommandointerpreter das Verzeichnis erstellt, weil der Befehl in die FTP.SKR geschrieben wird.

Diese Batchdatei ist fÃ¼r AnfÃ¤nger sicher nichts, aber ich nehme das mal als Anregung auf, hier einen kleinen Batchkurs zu verÃ¶ffentlichen.
</description>
		<content:encoded><![CDATA[<p>Hallo Cisab,</p>
<p>zu Deinen Fragen:<br />
<code>mkdir c:\temp >nul </code>erstellt nicht die Ordnerstruktur, sondern erstellt auf C: nur einen temporÃ¤ren Ordner fÃ¼r die Zwischenspeicherung des FTP-Skriptes. Dieser Ordner ist in den meisten FÃ¤llen eh vorhanden, der Befehl fÃ¼hrt daher zu einer Fehlermeldung, die mit &#8220;>nul&#8221; unterdrÃ¼ckt wird. So ist das Batchfile sicher, dass der Ordner C:\temp auf jeden Fall existiert.</p>
<p>Zum Thema &#8220;echo prompt&#8221; und &#8220;echo bin&#8221; empfehle ich Dir die Hilfe von <a href="http://FTP.EXE" rel="nofollow">http://FTP.EXE</a>. Einfach Ã¼ber START/AusfÃ¼hren/CMD eingeben. An der Kommandozeile dann &#8220;FTP&#8221; (ohne AnfÃ¼hrungszeichen) eingeben und Enter drÃ¼cken. Du befindest Dich jetzt in der FTP-Konsole. Mit dem Befehl <code>help prompt</code> bzw. <code>help bin</code> kannst Du die (zugegebenermaÃŸen magere) Hilfe zu diesen Befehlen aufrufen.<br />
Die Schleife ist wirklich etwas komplizierter:</p>
<p>Der Befehl <code>dir /b /s /ad</code> gibt alle Ordner (/ad) unterhalb des aktuellen Ordners (/s) in Kurzform (/b) aus. Diese Ausgabe wird in der FOR-Schleife zur weiteren Bearbeitung benutzt. <code>FOR /F</code> bedeutet: mache irgendwas mit jeder Zeile, die aus dem Befehl in den Kammern kommt (das kann Ã¼brigens auch eine Textdatei sein, siehe Hilfe zum Befehl FOR). In der Variablen %%I steht nun die einzelne Zeile. Im DO-Teil der FOR-Schleife wird die zweite Batch mit den Parameter %%I (also eine Zeile aus <code>DIR /b /s /ad</code>) und einer bearbeiteten Fassung von %%I Ã¼bergeben. %%~pI%%~nI solltest Du vielleicht mal selbst in einer Testbatch verwenden, um zu sehen, was passiert. Mehr dazu: START/AusfÃ¼hren/CMD und dann <code>help for </code>eingeben.</p>
<p>&#8220;echo quit >>c:\temp\ftp.skr&#8221; beendet die FTP-Kommandozeile, nicht die Batchdatei. QUIT ist ein FTP-Befehl.</p>
<p>Die zweite Batchdatei wird benÃ¶tigt, weil auf jede Zeile aus der FOR-Schleife mehrere Befehle angewendet werden. Dies ist einer FOR-Schleife nicht mÃ¶glich. Man kann jedoch eine Batchdatei aufrufen, die ihrerseits die Ã¼bergebenen Parameter wunschgemÃ¤ÃŸ verarbeitet.</p>
<p>%2 ist der zweite Parameter, der an die Batchdatei Ã¼bergeben wurde.<br />
<code>set rftp=%rftp:~1%</code> sorgt dafÃ¼r, dass aus der Variablen %rftp% das erste Zeichen elimiert wird.<br />
<code>echo mkdir %rftp%</code> sorgt dafÃ¼r, dass der FTP-Kommandointerpreter das Verzeichnis erstellt, weil der Befehl in die <a href="http://FTP.SKR" rel="nofollow">http://FTP.SKR</a> geschrieben wird.</p>
<p>Diese Batchdatei ist fÃ¼r AnfÃ¤nger sicher nichts, aber ich nehme das mal als Anregung auf, hier einen kleinen Batchkurs zu verÃ¶ffentlichen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cisab</title>
		<link>http://www.adminbox.de/2009/per-ftp-mit-windows-bordmitteln-unterverzeichnisse-ubertragen-rekursives-ftp/comment-page-1/#comment-308</link>
		<dc:creator>cisab</dc:creator>
		<pubDate>Fri, 25 Dec 2009 17:37:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.adminbox.de/?p=150#comment-308</guid>
		<description>hallo erstmal!

habe einige fragen zum batchfile (bin anfÃ¤nger blutiger noch dazu).

mkdir c:\temp &gt;nul erstellt die ordnerstruktur die hochgeladen wird. verstehe ich das richtig?
bei &quot;echo prompt&quot; und &quot;echo bin&quot; weiÃŸ ich schon mal nicht was die machen?
und von der for schleife will ich gar nicht reden:
for /F %%I IN (&#039;dir /b /s /ad&#039;) DO call c:\scripts\rftp_lib.bat %%I\* %%~pI%%~nI

was macht %%I IN (&#039;dir /b /s /ad&#039;)
call ruft die 2. bat auf.
was macht die %%I\* und was heiÃŸt %%~pI%%~nI?
echo quit &gt;&gt;c:\temp\ftp.skr beendet die ftp.skr aber warum ?
das zur ersten die zweite folgt sogleich:
warum brauchts die zweite?
was die befehle genau machen blick ich auch nicht durch...

Parameter %2 zerschnitten was heiÃŸt das?

set rftp=%2 Â set rftp=%rftp:~1% fÃ¼r was ist dieser befehl?echo mkdir %rftp% &gt;&gt;c:\temp\ftp.skr erstellungecho cd %rftp% &gt;&gt;c:\temp\ftp.skr wechselecho mput %1 &gt;&gt;c:\temp\ftp.skr Â Ã¼bertragungecho cd \&gt;&gt;c:\temp\ftp.skr und der hier?

also ich versteh hier einiges nicht, ich hoffe auf hilfe.

grÃ¼ÃŸeÂ 
cisab</description>
		<content:encoded><![CDATA[<p>hallo erstmal!</p>
<p>habe einige fragen zum batchfile (bin anfÃ¤nger blutiger noch dazu).</p>
<p>mkdir c:\temp &gt;nul erstellt die ordnerstruktur die hochgeladen wird. verstehe ich das richtig?<br />
bei &#8220;echo prompt&#8221; und &#8220;echo bin&#8221; weiÃŸ ich schon mal nicht was die machen?<br />
und von der for schleife will ich gar nicht reden:<br />
for /F %%I IN (&#8216;dir /b /s /ad&#8217;) DO call c:\scripts\rftp_lib.bat %%I\* %%~pI%%~nI</p>
<p>was macht %%I IN (&#8216;dir /b /s /ad&#8217;)<br />
call ruft die 2. bat auf.<br />
was macht die %%I\* und was heiÃŸt %%~pI%%~nI?<br />
echo quit &gt;&gt;c:\temp\ftp.skr beendet die <a href="http://ftp.skr" rel="nofollow">http://ftp.skr</a> aber warum ?<br />
das zur ersten die zweite folgt sogleich:<br />
warum brauchts die zweite?<br />
was die befehle genau machen blick ich auch nicht durch&#8230;</p>
<p>Parameter %2 zerschnitten was heiÃŸt das?</p>
<p>set rftp=%2 Â set rftp=%rftp:~1% fÃ¼r was ist dieser befehl?echo mkdir %rftp% &gt;&gt;c:\temp\ftp.skr erstellungecho cd %rftp% &gt;&gt;c:\temp\ftp.skr wechselecho mput %1 &gt;&gt;c:\temp\ftp.skr Â Ã¼bertragungecho cd \&gt;&gt;c:\temp\ftp.skr und der hier?</p>
<p>also ich versteh hier einiges nicht, ich hoffe auf hilfe.</p>
<p>grÃ¼ÃŸeÂ <br />
cisab</p>
]]></content:encoded>
	</item>
</channel>
</rss>

