WinSCPを使ってローカルにファイルを強制上書きする方法

このQ&Aのポイント
  • バッチファイルでFTPがインストールされていないCentOSにWinSCPでアクセスし、ファイルをgetし、強制的にローカルにあるファイルを上書き保存する方法について教えてください。
  • 現在ローカルに同じファイルがあるとエラーになりますが、FTPがインストールされていれば、getした場合には強制的に上書きすることができるのでしょうか?
  • WinSCPを使用してgetしたファイルをローカルに保存する際、上書き保存する方法を教えてください。
回答を見る
  • ベストアンサー

WinSCPを使ってgetし、ローカルで強制上書き

教えて頂けますでしょうか。 バッチファイルでFTPがインストールされていないCentOSにWinSCPでアクセスし、ファイルをgetし、強制的にローカルにあるファイルを上書き保存する場合にどのようにしたら良いでしょうか? "C:\Program Files\WinSCP\WinSCP.com" /script=C:\batch\backup.txt backup.txtには以下のような書き方をしています。 open******* cd(アクセス先のCentOSのディレクトリ) lcd(ローカルのwindows端末のフォルダ) get * のように書いています。 現在ローカルに同じファイルがあるとエラーになります。 FTPがインストールされていれば、getした場合強制上書きすると思われるのですが。 宜しくお願いします。

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

  • ベストアンサー
  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.1

> 現在ローカルに同じファイルがあるとエラーになります。 エラーメッセージからヒントは得られませんか? 使用したことはありませんが、 option confirm off を指定して get を試してみましたか? --- GUIでgetすればエラーにはならないわけですね。

関連するQ&A

  • WinSCPがタスクスケジューラで起動しません

    WinSCPを使って、レンタルサーバー内のファイルのローカルへの自動バックアップを試みています。 バッチを作成し、ダブルクリックで起動させるとうまくいくのですが、自動化のためにタスクスケジューラに登録するとうまく動作しません。 まず、 『backup.bat』というバッチを作成しました 中身は、 "C:\Program Files (x86)\WinSCP\WinSCP.exe" test@sample.jp /console /script=.\backup.script です。 『backup.script』の中身は open test:password@sample.jp cd /var/www/html/bactest lcd "C:\Users\○○○○\Documents\backupテスト\backup" synchronize local -delete close exit です。 backup.batをタスクスケジューラに登録し実行時間になると、backup.batの中身が一瞬表示された後消えてしまいます。 履歴にはbackup.batを開始した後、cmd.exeを起動し、操作を完了しました、となっています。が、実際はローカルのファイルは同期されていません。 あまり詳しくないため問題点が分かりません。 ローカル環境はWindows7です。 上記の記述に誤りがあるのでしょうか? 使用方法が根本的に間違っているのでしょうか??

  • ftp_getでローカルにファイルが見当たらない

    下記のようなスクリプトでFTPダウンロードを試みています。 ダウンロード元はホスティング会社のサーバで、 ダウンロード先は私のWindowsPCになります。 接続から読み込みまで万事うまく行き、エラー表示もなく、 Successfully written to C:\test\backup.zip というメッセージが表示されるところまでいくのですが、 C:\test\を開けてみると肝心のファイルが見当たりません。 サーバやPCの設定等もあるかもしれませんが、 どのような原因が考えられますでしょうか? よろしくお願いいたします。 <スクリプト> $local_file = "C:\\test\\backup.zip"; $server_file = "/tmp/backup.zip"; $conn_id = ftp_connect($ftpserver); $login_result = ftp_login($conn_id, $usr, $pass); ftp_pasv($conn_id, true); if(ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)){ echo "Successfully written to {$local_file}"; } else { echo "There was a problem"; } ftp_close($conn_id);

    • ベストアンサー
    • PHP
  • get コマンドのlocalfile パラメータについて

    環境:XPproSP2 接続先(例):ftp://ftp.mozilla.org/pub/mozilla.org/ ダウンロードファイル:README ダウンロード先:c:\123(c:\直下の123という名前のフォルダ) 入力コマンド:get README c:\123 目的:リモートサイトのREADMEというファイルを ローカルのc:\123フォルダにダウンロードしたい。 ftpのgetコマンドのlocalfileパラメータを指定して実行すると... ftp> get readme c:\123 Error opening local file c:\123.(←フォルダ名) > c:\123:アクセス許可が拒否されました というエラーが表示されダウンロードできません。 localfileパラメータをフォルダだけでなく ファイル名まで指定すると... ftp> get readme c:\123\readme 200 PORT command successful. Consider using PASV. 550 Failed to open file. というエラーが出ます。 かたやlcdコマンドであらかじめカレントディレクトリを c:\123に移動しておいて lcd c:\123 get README で実行するとダウンロードできます。 c:\123フォルダにはログオンユーザのほか 考えられるユーザーにアクセス許可を 設定しましたが、状況は変わらずです。 get コマンドのlocalfile パラメータの書式が まずいんでしょうか? それともコマンドプロンプトのftpコマンドから フォルダへのアクセスには何か特定のシステムアカウント のアクセス許可を設定しなければいけないのでしょうか? よろしくお願いします。

  • FTPコマンドでgetしたい

    FTPコマンドでファイルを転送したい。操作はクライアントで行っています。 サーバ⇒クライアントです。ディレクトリー構成は。(サーバー側)c:\2.txt を⇒(クライアント側)c:\2.txt に転送したいのですがエラーが出ます。次のように実行しています。 ftp>get c:\2.txt c:\2.txt としています。これを実行すると次のエラー 【550 c:\2.txt :The filename is incorrect】 と出ます。どうすればよいでしょうか? ファイルタイプもascii にしたりbin にしたり試しているがだめです。 お願いします。

  • phpのftp_get()でエラーが出ます。

    今回phpを使ってftp関数であるftp_getを実行してみたところ【Warning: ftp_get(): Error opening】が出てきました。 サイトで調べた結果、パスの指定のミスかパーミッションが原因だと言うことがわかりました。 それから小一時間あれこれ試してみましたがダメでした・・・。 そこで今度はperlを使って同じ内容のスクリプトを書いてみると成功しました。 どなたかphpの方ではなぜ正しく動作出来ないのかをご教示ください。 以下はphpとperlのスクリプトです。 =========================================================================== <?php $FTPSERVER = "!!!"; $FTPUSER = "@@@"; $FTPPASSWORD = "***"; //ftpサーバに接続 $ftp = ftp_connect($FTPSERVER); //ユーザログイン ftp_login($ftp, $FTPUSER, $FTPPASSWORD); ftp_pasv($ftp, true); $srverfile = "test.txt"; $localfile = "data1.txt"; ftp_get($ftp, $localfile, $srverfile , FTP_BINARY); ftp_quit($ftp); ?> ============================================================================ #!/usr/local/bin/perl use Net::FTP; my $host = '!!!'; # 接続先 my $user = '@@@'; # FTPのユーザ my $pass = '***'; # FTPのパスワード my $remote_file = 'test.txt'; # リモートのファイル(これを取得) my $local_file = 'data1.txt'; # ローカルファイル(ここに保存) my $ftp = Net::FTP->new($host) or die "can not connection: $@"; $ftp->login($user, $pass) or die $ftp->message; # ログイン $ftp->binary; # バイナリモードに変更 $ftp->get($remote_file, $local_file) or warn $ftp->message; # ファイル取得 $ftp->quit; # 終了

    • 締切済み
    • PHP
  • ローカルのファイル操作

    file_get_contentsでローカルのtxtファイルを読み込ませるにはどうしたらよいでしょうか?win //NG $text = file_get_contents("C:\Documents and Settings\hoge\デスクトップ\hoge.txt");

    • 締切済み
    • PHP
  • WinSCPを使ったファイルのアップロードの仕方

    FTP自体を初めて使う超初心者です。私の手元(家)にあるファイルを会社のサーバーにアップして欲しいと言われています。ソフトはWinSCPです。HostnameやRemotedeidrectory、パスワードを会社から教えられた通りに入力し、loginすると「ConnectonRefused]というエラーメッセージが出てログインできません。そもそも、Remotedeidrectoryに/user/local/~と入れてどうして会社のサーバーに繋がるのかも分かりません。http://~から始まるアドレスか何か入れるのかと思い、会社に聞いてみたところ、これでいいということでしたので、ますますどうして個人のlocal環境から、会社のサーバーに繋がるのか分かりません。簡単なFTPの仕組みと、どうすればloginできるのか、思い当たる原因があれば教えてください。よろしくお願い致します。

  • WinSCPで右クリックすると強制終了する

    誰かご存知の方、教えてください。 原因は全くわからないのですが、WinSCPというアプリで ローカルフォルダ表示内のファイルやフォルダの上で右クリックすると、アプリ自体が強制終了してしまいます。 ググってみても、全くヒットせず、原因も分からないため困っております。 社内でこのアプリを使ってる人のほとんどが、同じ現象です。 アプリのバージョンが同じでも、強制終了される人とそうでない人がいますので このアプリのせいではないのかと思います。 ちなみに、IE7、IE8のお気に入りの整理をしようとして、表示されたフォルダやURLタイトルを クリックしたら、同じようにIEが強制終了します。 なにか他の原因があるのだろうと思いますが、皆目見当がつきません・・・。 原因と解決方法をご存じの方、ご教示くださいませ。 よろしくお願いします。

  • WinSCPでSFTPによるファイル転送ができない

    ●質問の主旨 htmlファイル(index2.html)を公開するために、 ファイル転送ソフトのWinSCPを使ってファイルを ドキュメントルート(var/www/html)に転送しようとすると、 エラーが表示されて転送できません。 転送できない原因としてどんなことが考えられるでしょうか? また転送できるようにするためには 設定のどこを変更すれば良いでしょうか? 詳しい方がいらっしゃいましたら、ご教示願います。 ●質問の補足 WinSCPでは、SFTPで転送を試みましたが、 添付画面のようなエラーメッセージが表示されて 転送ができません。 ただし転送先が一般ユーザーの ホームディレクトリ(/home/user)の場合、 ファイル転送ができます。 またサーバー側のファイヤーウォールの設定として 以下のポートを開放済みです。 ・Port22 (SSH) ・Port21 (FTP) ・Port35000~35100(FTPパッシブ) ●環境 クライアントPC(Windows8) サーバー(Linux CentOS) サーバーソフト(Apache2.2.15)

  • シーケンス順にget (ftp)

    シーケンス順にget (ftp) こんにちは。 当方Windows 2003 Server、相手はWindows系でIIS6.0という構成でFTPで通信を 行いたいと思います。 相手側の所定のフォルダーに、例えば MB001.txt MB002.txt MB003.txt という具合にファイルが格納されています。 これを、当方側がgetで引き取りたいのですが、このときの仕様として、 ・シーケンス順を守りたい(例で言うと001から順に) ・引き取った後はデータを削除する があります。 そこで、シーケンス順を守る形でgetでき、getできたファイルだけを削除する方法が あれば教えてく頂きたいと思います。 どうぞ宜しくお願い致します。