• ベストアンサー

WindowsのバッチファイルでFTP転送

PC-A(Windows)内の特定のデータを、PC-B(Linux)内の特定のフォルダにコピーするのに FTPのバッチファイルを使いたいと思います。 元データの場所 PC-A\%systemroot%\system32\dhcp\test.log  ↓                        このデータを転送したい。 転送先(PC-B) /1G/1T/(ここにコピーしたい) 下のような構成を考えたのですが、うまくいかないので誤っている点をご指定いただけますでしょうか? バッチファイル内 ftp -s:copy_to_server.txt テキストファイル(copy_to_server.txt )内 open サーバー名 ユーザー名 パスワード put %systemroot%\system32\dhcp\test.log >> PC-B\1G\1T bye

  • pen123
  • お礼率58% (222/377)

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率74% (290/390)
回答No.1

こうかな? open サーバー名 ユーザー名 パスワード cd /1G/1T put ※\system32\dhcp\test.log bye ※のところは環境変数は使えないようですので、フルパスで書いてください。

pen123
質問者

お礼

お礼が遅くなり申し訳ありません。 参考になりました。ありがとうございました。

関連するQ&A

  • windows2008でftpをバッチ実行する。

    windows2008サーバーでバッチファイルを作成しftpで複数ファイルを自動転送しようと思います。 今まで(OSはXP)はうまく実行していたのですが、windows2008サーバーではうまくいきません。 ちなみにバッチファイルは @echo off echo ●FTP処理 C:\Windows\System32\ftp.exe -s:d:\ftp\tohost.txt echo on @echo off echo ●終了 tohost.txtの内容は open 192.168.1.1 Uid Pwd bin put d:\ftpdata\a1.txt /afld/a2.txt bye です。 何かwindows2008による特別な方法があるのでしょうか? よろしくお願いいたします。

  • windows10 FTP送信 バッチが動かない

    windows10からFTPサーバーへPUTしたいのですが、バッチファイルが動かないPCが存在します。 バッチファイル ftp -s:\\**********\b01.bat >\\**********\ftp.log b01.bat  open **********  **********  **********  PUT \\**********.TXT  QUIT 以下がログです。 ftp> open ********** ********** に接続しました。 220 (vsFTPd 2.2.2) 200 Always in UTF8 mode. ユーザー (**********:(none)): 331 Please specify the password. 230 Login successful. ftp> PUT \\**********.TXT 200 PORT command successful. Consider using PASV. 425 Failed to establish connection. ftp> QUIT 221 Goodbye. 色々調べた結果、パッシブモードではないからダメ・・・ しかしながら、別のwindows10では、問題なくPUT出来ています。 試しに、動作しないPCでコマンドラインで実行した結果は、 200 PORT command successful. Consider using PASV. ここまで上記と同様 150 Ok to send data. ftp: 300バイトが送信されました 0.29秒 1.05KB/秒 上記の通り問題なく送信できます。 windowsのFTPはパッシブモードはサポートしないならすべて出来ないなら理解できますが コマンドプロンプトでは実行できることが疑問、また、実行できる端末と出来ない端末があることも疑問です。 WinSCPに変更することも考えたのですが、windowsのバッチファイルを自動生成し実行後LOGに内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • FTPで見えるファイルと見えないファイルがあります。

    FTPで見えるファイルと見えないファイルがあります。 CentOS5.4にvsftpdをインストールして、PCからFTP転送を行おうとしています。 /tmpディレクトリにファイルを転送すると、FTPツールに転送したファイルは表示されますが、 元々/tmpにあったファイルはFTP転送ツールに表示され無い状態となっています。 ・FTP転送ツールを再起動しましたが、転送したファイルしか見えません。 又、FTP転送ツールではなく、DOS窓上でFTP接続して、DIRで見た時も転送したファイルしか見えません。 このことから、FTPツールの問題ではなく、FTPサーバー側の問題を判断しました。 ・Linuxサーバを再起動しても、転送したファイルしか見えません。 ・Linuxサーバ上で、転送したファイルを"cp -p"でコピーした場合、コピーしたファイルはFTPツール上見えません。 現在Linux上では、 tmp>ll -rw-r--r-- 1 root root 2 5月 13 17:20 a1.txt -rw-r--r-- 1 root root 2 5月 13 17:20 a2.txt -rw-r--r-- 1 root root 2 5月 13 17:20 b1.txt となっているのですが、 a1.txt:FTP転送したファイル a2.txt:a1.txtを cp -p a1.txt a2.txtでコピーした b1.txt:viで作成した FTPコマンドで見ると、 ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 0 0 2 May 13 08:20 a1.txt というようにa1.txtしか見えません。 原因はわかりましたらご教授ください。よろしくお願いいたします。

  • 同時に複数のサーバーにファイル転送できるFTPソフトってありませんか?

    同時に複数のサーバーにファイル転送できるFTPソフトってありませんか? 自分のPCで制作したhtml、txt、jpgなどのファイルをFFFTPで「Aサーバー」に転送。次に「Bサーバー」に同じものを転送。という風にしていますが、これを「Aサーバー」と「Bサーバー」の2ヶ所に同時転送したいのです。 同じファイルを複数のサーバーに転送できるFTPソフトってないでしょうか?

  • ftpコマンドバッチファイルのリダイレクト結果

    以下のようなバッチファイルを作成しました ftp -s:ftpcmd.txt > ftplog.txt FIND /i "226 Transfer complete" ftplog.txt >NUL exit /b %ERRORLEVEL% ftpcmd.txt open hoge anonymous hoge prompt cd /xxxx/ put test.txt quit こうする事でftp送信が正常に終了したかどうかを exitの終了コードで判断しようとしていたのです バッチファイルを手動で動作させたところ成功です しかしこのバッチファイルを Webサーバのサーブレット(javaプログラム)から 動作させるとftplog.txtの出力結果がなぜか プログラムから実行した時のftplog.txt User (hoge:(none)): open hoge prompt cd /xxx/ put test.txt quit こんな結果になってしまうんです あれれ?ftpコマンドが出力するメッセージがリダイレクトされない んです 手動でこのバッチファイルを実行した時は 以下のようになります 226 Transfer complete. のメッセージがサーブレットからバッチファイルを実行しても ftplogファイルに出力されるように したいのですが 何かいい方法はないでしょうか? 手動実行した場合のftplog.txt ftp> Connected to hoge open hoge 220 Microsoft FTP Service User (hoge:(none)): 331 Anonymous access allowed, send identity (e-mail name) as password. 230 Anonymous user logged in. ftp> Interactive mode Off . ftp> prompt cd /xxx/ 250 CWD command successful. ftp> put test.txt 200 PORT command successful. 150 Opening ASCII mode data connection for test.txt. 226 Transfer complete. ftp: 59523 bytes sent in 0.00Seconds 59523000.00Kbytes/sec. ftp> quit 221

  • 自動ftpバッチで転送速度をろぐに出す方法

    こんにちは windows2008で自動ftpバッチファイルを作成ししています。 自動ftpは出来るのですが、転送速度がログに出力されません。 具体的には手動でftpすると以下のように表示される「24000.00KB/秒」という部分を ログに出したいです。 200 PORT command successful. 150 Opening ASCII mode data connection for autoexec.bat. 226 Transfer complete. ftp: 24 バイトが送信されました 0.00秒 24000.00KB/秒。 そもそもログに表示させることはできないのでしょうか? お分かりの方、お教えください。 今作っているバッチファイルはこんな感じです。 ftpauto.txt ---------------- ftp -s:ftpcmd.txt>>ftp.log 2>&1 ftpcmd.txt ---------------- open XX.XX.XX.XX user-id Password bin cd / lcd C:\ put XXX disconnect bye ------------------------------------ 宜しくお願いします。

  • FTPのバッチファイル

    ローカルPCからサーバーのPCへ毎日決まったファイルをFTPで伝送したいと思っています。今はFFFTPで、毎日手動でファイルをアップロードしていますが、DOS窓からFTP接続するコマンドをバッチファイルにすることってできないのでしょうか? できれば、そのバッチファイルをタスクスケジューラーに登録して日々自動でアップロードしたいと考えています。 ftp open 接続先 ユーザーID パスワード put ファイル名 といった内容をバッチファイルにしたいのですが、やり方をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • バッチで pingやFTPが通らない時、ネットワークドライブにアクセスできない時だけ処理を行いたい

    Windows 2000/XPにおいてバッチでネットワークの導通テストを行っています。 その時に ネットワーク上のPCにpingを打つ  ↓ pingを打ったPC上からファイルをコピーする (FTP)  ↓ コピーしたファイルと元ファイルをコンペアする (FTPサーバーのフォルダをネットワーク共有し、 テスト元のPCにネットワークドライブとしてマウントする。 コンペアはfcコマンドを使用) といった内容のテストを行っているのですが pingやFTPが通らないときまたネットワークドライブにアクセス出来ないときに、エラー表示を行い試験を停止させたいと考えています。 これら試験における条件判断をどうやって行えば良いか分からないので アドバイスが欲しいです。 Windowsのコマンド・バッチ処理に詳しい方、宜しくお願い致します。 なお、今使っているバッチはだいたいこんな感じです。 実際にはログを取っています。 echo NOW TESTING... echo pingテスト中... ping 192.168.0.2 echo ファイルコピー中... ftp -s:ftpcommand.txt 192.168.0.2 echo 受信ファイルのコンペア中... fc /B /T z:\masterfile.dat copy.dat

  • Windowsのバッチについて

    お世話になります。 Windowsのバッチについてアドバイスをいただけますでしょうか。 ある文字列の書かれているファイルを1つ作成して「拡張子のあるもの」、「無いもの」2種類を作成したいと考えています。 例) 拡張子の無いもの:test01~test3000 拡張子のあるもの:text01.txt~text3000.txt 3000個と大量のファイルが必要なためechoとcopyコマンドを使って次のように指定しましたが、 ■sample.batの中身 ========================== echo testdata > test01 echo testdata > test02 echo testdata > test03 echo testdata > test04 echo testdata > test05 ~中略 copy test01 > test01.txt copy test02 > test02.txt copy test03 > test03.txt copy test04 > test04.txt copy test05 > test05.txt ~以下省略 ========================== 実際に作成された拡張子”.txt”の方を見てみると 次のように記載されており正しくファイルをコピーできません。 ■test01.txt~test05.txtの中身 =================================================== ファイルを同じファイルにコピーすることはできません。 0 個のファイルをコピーしました。 =================================================== どのようにすればファイルコピーを正しく行うことが出来ますでしょうか。 また、この方法では実際にbatファイルの編集に時間がかかってしまうためあまり実用的ではありません。 もし、他に良い方法があればアドバイスをいただけますと幸いです。

  • バッチファイルにてFTPで指定したファイルを取得する

    OSはWindoswXPProです。 以下のようなBATファイルとバッチファイルを作成しました。 ---FTP.bat--- echo off ftp -s:get.ftp ---get.ftp--- open 10.0.X.X username password cd /log get log.yymmdd(実際には日付) c:\access_all_log.txt quit logというディレクトリには日次でログファイルが作成され ファイル名としてlog.yymmddと名づけられています。 やりたいことは2つあります。 1つめはftpするファイル名の日付部分をコマンドなどから 範囲指定して取得するファイルを指定できないか。 (たとえば070301~070315のファイルを一括で取得したい) 2つ目はftpでのファイル取得終了後に続いて バッチスクリプトを流したいのですが、その方法。 お分かりになる方いらっしゃいましたらよろしくお願いいたします。