WinNTからUNIXへのファイル転送方法とは?

このQ&Aのポイント
  • WindowsからUNIXへのファイル転送方法について詳しく教えてください。
  • WinNT4.0(ws)からUNIXへのファイル転送が上手くいかない場合、どのようにすれば良いのでしょうか?
  • バッチファイルとFTPを使用してWinNTからUNIXへのファイル転送を試みていますが、問題が発生しています。
回答を見る
  • ベストアンサー

バッチによるWinNT→UNIXのFTPの記述方法

WindowsからUNIXへファイルを転送したいため、 Windowsでmmm.batを作成したのですが、 以下の内容で、Win98→UNIXはOKだったのですが、 WinNT4.0(ws)→UNIXでは、上手くいきません。 どのようにすれば、よいのでしょうか? mmm.batの内容 -------------------------------- ftp -n << d:\temp\nnn d:\temp\nnnの内容 -------------------------------- open 123.234.345.456 <- IP address user abc abc <- USER Password lcd d:\temp\log <- Local Dir cd /usr/bbb <- UNIX Server Dir put aaa.txt bye

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

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

「<< の使い方が間違っています」とかのメッセージが出ませんでしたか? 「<<」ではなく「<」が正解です。 Win98 では << の機能がなく、<< を単に < と見なしてしまうので、正しく 実行できているように見えるだけです。 手元の Win98 と WinNT4.0 で確認しました。

clover2
質問者

お礼

ありがとうございます。 こちらでも動作確認できました。 ちなみに動作環境について補足しておきますと、クライアントはWinNT4.0ws sp6(Englishバージョン)、サーバは、Solaris7(日本語バージョン)でした。

関連するQ&A

  • バッチファイルFTP -sで引数を渡せますか?

    どなたか教えて下さい。 TEST.batというバッチファイルの処理の中で、 FTP -s:D:\ABC.bat でファイルを指定して、FTPのputを実行させたいです。 putしたいファイルはTEST.bat内でsetで指定しています。そのsetで指定したファイルを引数などで、\D\ABC.batへ送る方法はないでしょうか?

  • Windowsで定期的にUNIXへFTPすることを自動化したいです

    Windows2000使っています。 WindowからFTPでUNIXサーバに接続してあるファイルをgetしてくる 作業を、1日1回自動的に実行したいと思ってます。 やり方としては、 1.Windowsでgetの内容が記載されたBatファイルを作成する。 2.Windowsのタスクスケジューラである時間にそのBatファイルを   実行するように設定する。 っといったようなことをすればよいのかと思いますが、具体的に どのような内容のBatファイルを作成すればいいのかがわかりません。 サーバ名:Server01 User: User01 、Pwd:Password Getしたいファイル名:AAA.xml として以下のようなBatファイルを作ればよいのかと思うのですが、 FTPのコマンドをどこに記載してあげたらよいのかがわからなかった のです(コマンドラインにFtpコマンドいれればできるのですが、 定期的にやるにはどのようにしたらよいのかがわかりませんでした)。 ------------------------------ open server01 user01 password get /logfiles/AAA.xml quit ------------------------------ お手数をおかけしますが、どなたかご教示いただければと思います。 よろしくお願いいたします。

  • Windows マシンでFTPバッチが動かない

    Windowsサーバから、UNIXサーバにFTPでファイル取得しようとすると、エラーがでてすすみません。 コマンドプロンプトで 対話的に動かす分には問題なく動作するのですが、バッチで動かすと エラーがでてしまうのです。 動かそうとしているバッチファイルとその読み込みスクリプトは以下です。 (変数部分はぼかしています) ==== myftp.bat BGN ==== set dirname=%DATE:/=% mkdir D:\master\%dirname% ftp -s:ftpcmd.txt ==== myftp.bat END ==== ==== ftpcmd.txt BGN ==== open hoge user_naem pass_word bin lcd D:\master get file.txt quit ==== ftpcmd.txt END ==== これらを動かすと、 スクリプト ファイル ftpcmd.txt を開くときにエラーが発生しました。 というエラーがでて前に進みません。 対話ベースでは、ftpcmt.txt ファイルの内容をコピペして、きちんと動くので、 何が原因がわかりかねています。 どなたか知恵を貸してください。

  • FTP送信

    バッチファイル(~.bat)でFTP送信を行いたいのですが。 条件としましては送信先が日付のフォルダに送る事です。 通常(私が知っているのは)・・・・ abcdef.bat    ftp -s:c:\temp\test.ftp test.ftp    open 192.168.210.112    (user)    (password)    put c:\temp\aaaa.txt bbbb\aaaa.txt    bye ・・・・・です。 abcdef.batを実行するとFTP送信が行われます。 これだと「test.ftp」が固定なので送信先のフォルダが変更できません。 何か方法がわかれば誰か教えて下さい。参考程度でもかまいません。

  • 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に内容により他の処理を実行するところも作りこんでいて問題なく使用していた為、今更変更できない状況です。(パッシブモードの事さえ知らず動いていました) 何が何だかわからない状態です、お知恵をいただけないでしょうか・・・

  • UNIXの"find"コマンド同等のプログラム作成について

    お世話になっております。 現在UNIXの"-type f"オプションのついた"find"コマンドと同等のプログラムをC言語で作ろうとしています。 つまりディレクトリ内のファイル(サブディレクトリ内のファイル含む、ディレクトリは除外)を全てフルパスで表示するプログラムです。 現在下記の関数を作成したのですがうまく動いてくれません。 どなたかご教授いただけないでしょうか。 【問題】 プログラム内の(**)前後で"dir1"が変更される。 (**)前:"/ディレクトリA/" (**)後:"/ディレクトリA/ディレクトリA内のファイル1" 本当は"dir1"には:"/ディレクトリA/"のままであってほしいです。 "strcat"コマンドの仕様が影響しているのでしょうか。 int _find(char dir1[] , int k ,int l , int m ) { DIR *dir ; struct dirent *dp ; struct stat statbuf ; char txt[1000] ; if ( m == 0 ) l++ ; if ( (dir = opendir(dir1)) == NULL ){ printf("%s",dir1) ; perror("opendir") ; exit(1) ; } for( dp=readdir(dir) ; dp != NULL ; dp=readdir(dir) ){ if ( strcmp(dp->d_name,".") != 0 && strcmp(dp->d_name,"..") != 0 ){ /* ROOT_DIR名-にファイル名を付け加えて、フルパスにする */ strcpy( temp[k][l] , dir1) ; strcat( temp[k][l] , "/" ) ; strcat( temp[k][l] , dp->d_name ) ;  (**) stat( temp[k][l] , &statbuf ) ; if(S_ISDIR(statbuf.st_mode)){ l=_find(temp[k][l],k,l,1) ; }else{ sort[k][l]=temp[k][l] ; printf("temp[%d][%d]=%s\n",k,l,sort[k][l]); printf( "dir5=%s\n",dir1) ; l++ ; } } } closedir(dir) ; return l ; }

  • Mac OS X でバッチファイルのようなものは?

    Windows では、デフォルトの状態で *.bat というファイル名で保存し、ファイルを開くと、そのファイルに書かれた内容が順番に実行される仕組みがあります。 では、Macで同じようなことをしようとした場合どうすればよいですか。 bash シェルスクリプト、というものがあることは知っています。 より具体的に説明します。 アプリケーションを起動するためのテキストを、ファイルに書いておき、Finderからそれを開く事で、記述した通りにアプリケーションが起動するようにしたいです。 Windowsにおいて同じディレクトリに2つのファイルがあります 1) setdir.bat set dir1=C:\d1 1終わり) 2) exec.bat call setdir.bat set apppath=dir2\dir3\dir4 set execfile=app.exe set param=-foo -bar start "" "%dir1%\%apppath%\%execfile%" %param% 2終わり) これでエクスプローラで exec.bat を開くと、app.exe が実行されます。 MacのFinderでファイルをダブルクリックしたときに、同じように何かアプリケーションを実行するようにしたいです。Tarminalを起動してCUIでスクリプトを実行する方法ではありません。 ファイルは2つなければならず、一度変数に代入してから、変数を使って最終的に起動するという点は変えないでください。

    • 締切済み
    • Mac
  • 自動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 ------------------------------------ 宜しくお願いします。

  • バッチファイルが認識されず起動しません

    バッチファイルをダブルクリックしても、「○○○. batは有効なWin32アプリケーションではありません」と表示されて、起動できません。 ■環境:WindowsXP 64Bit版 SP3 ■以下、確認したこと (1)非常にシンプルなTEST.BATを作成したが、同じエラーが表示され起動できませんでした。   このバッチファイルの内容は cmd/k dir c: (2)Windowsの拡張子に対する関連付けは、「Windowsバッチファイル」になっていました。 (3)環境変数のPATHEXTに.BATは登録されていました。 (4)自分以外のユーザーでログオンすると、バッチは正しく動作します (5)Dos窓にバッチファイルをドラッグ&ドロップすると、正しく動作します 何かWindowsの設定がおかしいのでしょうか? とても困っています、教えてください!

  • Windows3.1でバッチ(.bat)の実行について

    Windows3.1でバッチ(.bat)の実行について 10数年前の某装置の組み込みPC(日本語MS-DOS/V6.2 & 日本語MS-Windows3.1)でDOSの バッチファイルを動作させたいです。 CドライブはIDE2GByte、DドライブにSCSIのMOという構成です。 D:\tempにデータが溜まっていきます。これをC:\transというディレクトリにWindows のアイコンをクリックすることで移動させたいです。 次のようなバッチファイル(idou.bat)作成しました(△はスペースの意味です)。 del△c:\trans\*.* move△d:\temp\*.*△c:\trans\. できたファイルをファイルマネージャのあるグループにドラッグするとアイコンができたので、 ダブルクリックで実行したところ、1回目はうまくいったように見えます。 再度、D:\tempにデータが溜まったところで、アイコンをクリックすると、     「アプリケーションエラー#$%」でハングアップしたり、     「c:\>」とwindouwsを抜けたりしてしまいます。 DOS窓で実行すれば問題ないのですが、アイコンから実行したいです。 なにか方法がありますでしょうか?

専門家に質問してみよう