Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

ftpのdirコマンドで日付順に表示する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/07/01
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
ftpのdirコマンドには、2つの引数を指定することができる。
第1引数にはファイル名もしくはオプションのいずれかを指定する。
第2引数には結果の出力先ファイル名を指定する。省略すると画面に表示される。
dirで利用可能なオプションには、「-r(逆順表示)」「-t(日付順表示)」「-R(再帰表示)」「-c(作成日表示)」などがある。
 
解説

 ftpコマンドでFTPサーバに接続した場合、通常はdirコマンドを使ってファイルの一覧を表示させ、どのファイルを取得するか(getするか)を判断する。

 だが引数なしでdirコマンドを実行すると、カレント・フォルダにあるすべてのファイルが表示され、ファイルが大量にあると、目的のものを探すのが困難になる。dirには1つ、もしくは2つの引数を指定することができるので、こういう場合はファイル名のワイルドカードを引数として指定し、対象とするファイルを絞り込めばよい。例えば「dir *.txt」とすれば、拡張子が.txtにマッチするファイルだけが表示される。

ftp> dir *.txt …テキスト・ファイル一覧の表示
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
-r-xr-xr-x   1 owner    group           10255 Jul 19  2005 files-diff.txt
-r-xr-xr-x   1 owner    group           19028 Apr 14 17:39 g.txt
-r-xr-xr-x   1 owner    group            1178 Jul  1 10:58 OEWABLog.txt
-r-xr-xr-x   1 owner    group             636 Mar  8  4:11 quotatest.txt
-r-xr-xr-x   1 owner    group             990 Jun 15 12:11 ReadMe.txt
-r-xr-xr-x   1 owner    group          698838 May 22 18:32 setuplog.txt
-r-xr-xr-x   1 owner    group         1017398 Jul 18  2005 x1.txt
…(以下省略)…

dirコマンドの第2引数:出力先の指定

 dirコマンドの第2引数は、dirの結果をどこへ出力するかを指定するためのものである。省略すると、クライアント側の画面に表示されるが、例えば「dir *.txt filelist.txt」のように指定すると、「dir *.txt」の結果が、ローカル側のfilelist.txtというファイルに保存される。実行後、コマンド・プロンプトへ戻って(「!」コマンドを使用するとよい)、その内容を確認すればよいだろう。

 ちなみにftpクライアントには、dirではなく、lsというコマンドもある。例えば「ls *.txt」とすると、ファイル名だけが表示される(日付や属性は表示されない。コマンド・プロンプトにおける「dir /b」のようなもの)。以下、dirコマンドを例に解説する。

dirコマンドの表示オプションを指定する

 だがこの方法ではファイルが多すぎて分かりづらい場合は、例えば日付順にソートして最新のファイルを素早く見つける、といったこともできる。dirコマンドに渡す引数(上の例では「*.txt」)は、実はファイル名でなくてもよい。この第1引数は、実際にはFTPサーバ側のdirコマンドの処理プログラムにそのまま渡されるだけなので、ここで日付順にソートするようなオプションを指定すればよいのである。ただし、引数は1つしか渡せないことに注意していただきたい。ファイル名指定かオプションのいずれか1つだけしか利用できない。

 FTPのサーバ側でどのようなコマンドが動作しているかは、FTPサーバの仕様にもよるが、一般的にはUNIX/Linuxのlsコマンド(もしくはその相当コマンド)が動作している。Windows Server OSに付属しているIISでもこれは同じで、lsコマンドと同等のものが動作している。lsコマンドは、Windows OS(もしくはMS-DOS)のコマンド・プロンプトのdirコマンドに相当するコマンドである。

 一番簡単なオプション例としては、例えば「-r」がある。これは結果を逆順(reverseの略)に表示させるオプションであり、「dir -r」とすると、「dir」とは逆順(つまり名前の逆順)で表示される。

 なおコマンド・プロンプトのdirコマンドと違って、オプションの開始文字は「/」ではなく「-」である。

dirコマンドで日付順に表示する

 ファイル名を日付順にソートして出力するには、「-t(昇順)」もしくは「-tr(降順)」オプションを利用する。

ftp> dir -t …ファイル名を古いものから順に表示
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
-r-xr-xr-x   1 owner    group          139264 Sep  1  2004 alcrmv.exe
-r-xr-xr-x   1 owner    group          208896 Nov  5  2004 alcupd.exe
-r-xr-xr-x   1 owner    group           77824 Dec 22  2004 SOUNDMAN.EXE
-r-xr-xr-x   1 owner    group           10752 May  2  2005 hh.exe
-r-xr-xr-x   1 owner    group           16690 May 20  2005 password1.png
…(以下省略)…

そのほかのオプション

 「-t」オプション以外にもいくつか利用できるオプションがあるが、それらはやはりUNIX/Linuxのlsコマンドに準じている。例えば「dir -R」とすると、サブフォルダの内容もすべてたどって表示するし(コマンド・プロンプトにおける「dir /s」に相当)、「dir -c」とするとファイル/フォルダの最終変更日付ではなく、作成日付を表示し、その順番で表示する(逆順にするには「dir -cr」)。またこれらを組み合わせて利用してもよい(例:「dir -Rt」)。このほかにも、「-F(フォルダ名の最後に/を付ける)」、「-C(ファイル名部分だけを表示する。lsコマンドに相当)」などもあるが、あまり使うことはないだろう。End of Article

関連記事(Windows Server Insider)
Windows TIPS:IIS 6.0のFTPサーバでユーザー・フォルダを分離する(基本編)
Windows TIPS:IIS 6.0のFTPサーバでユーザー・フォルダを分離する(Active Directory編)
Windows TIPS:ftpのdirコマンドで日付順に表示する
Windows TIPS:ftpのgetコマンドでテキスト・ファイルの内容を素早く確認する
Windows TIPS:FTPサーバでユーザー・フォルダを設定する
Windows TIPS:FTPの仮想ディレクトリに対応するフォルダを作成する
Windows TIPS:クライアント版WindowsでIISをインストールする
Windows TIPS:クライアント版Windowsに付属するIISの制限
Windows TIPS:アカウントを指定してFTPサイトへ接続する
Windows TIPS:スクリプトで使うftpコマンド
Windows TIPS:FTPをファイアウォール・フレンドリ・モードに変更する方法
 
「Windows TIPS」

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH