- - PR -
cygwinでバッチ(シェルスクリプト)を使いたい
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-07-14 23:58
windows上でコマンドラインからアーカイブを作る必要があるため
cygwinを使っていろいろとやっています。 要はバッチファイルを作ってあるフォルダをtarで固めてタスクで定期的にFTPしたい のですが、 バッチからcygwinを呼び出してパラメータを渡す方法がわかりません。 以下のように書くとcygwinを呼び出した時点で止まってしまいます。 C:\cygwin\cygwin.bat cd 対象フォルダの上のフォルダ tar cfv hoge.tar hoge windowsのバッチ作るのもあまりなれていない物で困っています。 それともシェルスクリプトを書いて それをcygwinに渡して処理させるという考え方の方がいいのでしょうか? #!/bin/sh cd 〜 というようにしたとして cygwinにそれをどう渡せばいいのでしょうか? ご教授よろしくお願いいたします。 | ||||
|
投稿日時: 2004-07-15 09:10
C:\cygwin\cygwin.bat
を読めばわかります。 コマンドプロンプト>type C:\cygwin\cygwin.bat 末尾のコマンドを起動してバッチ自体は終わってます。 末尾のプログラムに対して cd 対象フォルダの上のフォルダ tar cfv hoge.tar hoge を「指示する」とよいです。 Cygwin を起動して > man <コマンド名> で読めます | ||||
|
投稿日時: 2004-07-15 09:31
お疲れ様です。
cygwinを呼び出すうんぬんではなく、cygwinのtar.exeをDOSから実行すればよいのです。 cygwinをc:\cygwinにインストールしたなら、c:\cygwin\binにtar.exeは入っています。 ですから、DOSのバッチファイルは以下のように書きます。
なお、cygwinのEXEファイルはcygwin1.dllがあれば実行できるので、tar.exeとcygwin1.dllをFDに入れて、tarを持ち歩いて他の環境で実行することも出来ます。 | ||||
|
投稿日時: 2004-07-15 11:59
早速のレスありがとうございます。
まずシステム環境変数のPathにC:\cygwin\binを追加し、 プロンプトからtarを打つとアーカイブができました。 ただCドライブ直下のtestフォルダをtarするバッチを以下のように書くと test.tarが作成されずにcdの行とtarの行が永遠にプロンプトを走ります。 何か足りないのでしょうか? #バッチの内容 cd c: tar cfv test.tar test | ||||
|
投稿日時: 2004-07-15 12:29
自己レスです
最初のcdの位置が悪かったようです。 ぶじできました。 お騒がせいたしました。 ありがとうございます。 | ||||
1
