2017-11-07 2 views
-1

私は、完全なディレクトリ(例:2017/conference/tsd-60545)の画像のファイル名が900以上の.txtを持っています。テキストドキュメントからファイル名を取得し、Windowsエクスプローラでファイル名を見つけて、特定のファイルを別のフォルダに転送するにはどうすればよいですか?

私のWindowsエクスプローラは私の会社のFTPから引き出しており、その中に160Kを超える写真があります。

私の.txtファイルには900画像しか必要ありません。

これを自動化する方法はありますか?マニュアルは、私に遅い死をもたらす。

答えて

-1

これは、FTPからのすべてのJPGをダウンロード:: //ftp.mydomain.com/2017/conference/tsd-60545

使用してtxtファイルの内容に基づいて「commands.ftp」というファイルを作成します。 vim、awk、sedのようなツール。次に、ウィンドウftpをオプション-sで処理して処理します。

commands.ftp

open ftp.mydomain.com 
user myusername mypassword 
cd mysubdirectory 
prompt 
mget 2017/conference/tsd-60545/*.jpg 
close 
quit 

バッチファイル

ftp -s:commands.ftp -n 
+0

ありがとうございます。私のディレクトリとファイルにそれぞれ固有の名前が付いている場合、Jim - これは動作しますか?ここで、テキストファイルのサンプルである: 会議2017/CBK/CB-53886.png 会議2017/CLSO/1219733001M-L.png 会議2017/CR/CR-2035.png 会議2017/DL/DL062BAE1Z0 .png ...など。 – DeeCantCodeForCrap

0

私は今でこれをテストするためにftpサーバを持っていないので、これは未テストですが、これは動作するはずです。

.cmdまたは.batエクステンションを使用してバッチファイルを作成し、テストファイルが同じディレクトリにあることを確認するか、バッチファイルでフルパスを指定します。 基本的には、接続全体をファイルにエコーします。 forループを実行してFTPファイルから読み込み、ファイル内の各エントリに対してgetまたはputを実行します。完了すると、ftpコマンドが実行され、ファイルから読み込まれます。

は、あなたはそれが実際に実際に最後のコマンドの前にremを追加することは何もせずにftp'ing .datファイルを書き込んでいることを確認するために最初にそれをテストすることができ

@echo off 
echo user username password> ftpto.dat 
for /F "tokens=*" %%A in (myfile.txt) do echo get %%A >> ftpto.dat 
echo quit>> ftpto.dat 
ftp -n -s:ftpto.dat ftp.imagesserver.com 

をMyFTPscript.cmd。このように:あなたはDATファイルの内容がOKに見えることを満足したら

rem ftp -n -s:ftpto.dat ftp.imagesserver.com 

、あなたはremを削除し、全力を尽くしますスクリプトを実行することができます。

コマンドファイルを実行するたびにファイルを書き換えるので、ファイルを削除する必要はありません。

関連する問題