2008年4月16日水曜日
フォルダ(ディレクトリ)が空かどうか

客先によっては、自分なりの環境を整えるのが難しいところがある(最近は多い)。
なので、バッチファイルって意外と重宝する。

でもって、気になって調べてみると、今更ながら情報って少ないねぇ。
なんつーか、探しきれてないのだろうけど。

で、ここ数日悩みのタネだったのが、タイトルにあるとおり、フォルダの中身の調査。
何故必要かはおいといて、調査結果を…

基本、2ch情報だけど、こういうのがあった。

ユーザー必読!コマンドライン(DOS Pt.6)
http://pc11.2ch.net/test/read.cgi/win/1176558776/124-125

124 :名無し~3.EXE:2007/06/16(土) 19:02:59 ID:CXEmvWRn
DIR /B "C:\hoge" | FIND /V "" > NUL で ERRORLEVEL=1 なら空。
ってのは強引?

125 :名無し~3.EXE:2007/06/18(月) 01:45:27 ID:H6wUdAfo
読みやすさ優先ならfor /r と set /a ってなところだろうけどねぇ


124のは単純だね。DIRで取得した結果が空じゃなければERRORLEVELは0だから。
あとはIF文をどうするかってことだね。

ってことで、125のやつ。
これは、FORでフォルダ内部のファイルを列挙して、SET /Aで数を数えるってことかな?
@ECHO OFF
SET /A CNT=0
FOR /R パス %I IN (*) DO (
SET /A CNT=CNT+1
)

これでCNTがゼロでなければファイルはあることになるので、フォルダは空じゃないと…

しかし、SETで計算できるの知らなかったな。
もう少し、修行が必要かな?


2008/05/01 - 追記
バッチファイルなら、%を重ねないといかんなぁ。
ケアレスミスです。
で、ECHOしてみた。
@ECHO OFF
SET /A CNT=0
FOR /R パス %%I IN (*) DO (
SET /A CNT=CNT+1
)
ECHO %CNT%

こういうのを知ってると、結構使える場面が… ないか。



0 コメント | コメントを書く | コメントの表示
2008年4月4日金曜日
mtaサービスの変更 - alternatives コマンド

随分前に、仕事で調べたコマンド。
ふと気になったので、書いておく。


サーバセットアップの際に、MTA(メール転送エージェント)の変更が必要になった。
調査時にはRed Hatのパッケージで変更をしたようだったけど、僕が実作業に入るときには、パッケージを選別したために、そのコマンドだかなんだかが無くなってしまった。
そこで、コマンドを探し当てたという話。


まずはchkconfigでpostfixを確認する。

# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off


次に、sendmailを確認してみる。

# chkconfig --list sendmail
サービスsendmailはchkconfigをサポートしますが実行レベルで参照されていません (run 'chkconfig --add sendmail')
#


で、alternativesコマンドで確認する。

# alternatives --display mta
mta - ステータスは手動です。
リンクは現在 /usr/sbin/sendmail.postfix を指しています。
/usr/sbin/sendmail.sendmail - 優先項目 90
スレーブ mta-pam: /etc/pam.d/smtp.sendmail
スレーブ mta-mailq: /usr/bin/mailq.sendmail
スレーブ mta-newaliases: /usr/bin/newaliases.sendmail
スレーブ mta-rmail: /usr/bin/rmail.sendmail
スレーブ mta-sendmail: /usr/lib/sendmail.sendmail
スレーブ mta-mailqman: /usr/share/man/man1/mailq.sendmail.1.gz
スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.sendmail.1.gz
スレーブ mta-aliasesman: /usr/share/man/man5/aliases.sendmail.5.gz
スレーブ mta-sendmailman: /usr/share/man/man8/sendmail.sendmail.8.gz
/usr/sbin/sendmail.postfix - 優先項目 30
スレーブ mta-pam: /etc/pam.d/smtp.postfix
スレーブ mta-mailq: /usr/bin/mailq.postfix
スレーブ mta-newaliases: /usr/bin/newaliases.postfix
スレーブ mta-rmail: /usr/bin/rmail.postfix
スレーブ mta-sendmail: /usr/lib/sendmail.postfix
スレーブ mta-mailqman: /usr/share/man/man1/mailq.postfix.1.gz
スレーブ mta-newaliasesman: /usr/share/man/man1/newaliases.postfix.1.gz
スレーブ mta-aliasesman: /usr/share/man/man5/aliases.postfix.5.gz
スレーブ mta-sendmailman: /usr/share/man/man1/sendmail.postfix.1.gz
現在の「最適」バージョンは /usr/sbin/sendmail.sendmail です。
#


ここでpostfixからsendmailに変更してみる。

# alternatives --config mta

2 プログラムがあり 'mta'を提供します。

選択 コマンド
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

Enterを押して現在の選択[+]を保持するか、選択番号を入力します:
と出るので、sendmailにするなら、「1」を入力してENTERすればいい。


再度、確認する。

# chkconfig --list postfix
サービスpostfixはchkconfigをサポートしますが実行レベルで参照されていません (run 'chkconfig --add postfix')
# chkconfig --list sendmail
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# alternatives --display mta
mta - ステータスは手動です。
リンクは現在 /usr/sbin/sendmail.sendmail を指しています。
(以下省略)



…おっと、サービスを起動させないと。


# /etc/init.d/postfix stop
Shutting down postfix: [ OK ]
# /etc/init.d/sendmail start
sendmail を起動中: [ OK ]
sm-client を起動中: [ OK ]
#


こんなもんですか。



0 コメント | コメントを書く | コメントの表示
Webメールクライアント - Windows Live メール

常駐先より、帰還してまいりました。
ぼちぼち再開ってことで。

久しぶりに、新しいソフトを入れてみた(Lunchyの記事も書こうかな?)。

WebメールとしてはHotmailとGmailを使ってるんだけど、メインのメールクライアントはBecky!なんで、ちょっとWebメールとは連携がイマイチ。
プラグインもあるんだけど、Hotmailは受信のみだったりして、ちょっと使い勝手が悪い。
そこで、色々と探した挙句、Windows Live メールというのを使ってみることにした。

ダウンロードはここから↓
Windows Live メール - 概要

さて、システム要件ですが、XP(SP2)にVistaってことで、自宅PCからは利用不可(Windows 2000ですから)。
仕方ないね。

でもって、インストールしてみた。


起動してみると、Becky!に登録してあった2つのアカウントのうちひとつだけがインポートされてた。
Becky!もあるし、とりあえずこれは削除。

でもって、右上に「サインイン」が。

クリックしてサインインすると、そのアカウントのHotmail(今はWindows Live Mailか)が登録されるみたいなんだけど、複数のアカウントを登録するには、このアイコンから

「すべてのメニューを表示する」にチェックを入れて、通常の「ファイル」「編集」「表示」などのメニューバーを表示させる必要がある。
で、その「ツール」からOutlookと同じようにアカウントを追加できる。
勿論、Hotmailだけじゃなく、Gmailも(GmailはGmail側でPOP許可設定に変更する必要がある)。
最初からHotmail、Gmailに対応してるだけに、アカウントを入れるだけで、きちんと設定できるので、便利。

基本的には、一旦ダウンロードする必要があるので、サーバ側との連携がどうなのかちょっと気になるところだけど、しばらく使ってみよう。

ソフトとしての使い心地は、Outlookと同じかな?
細かい動作なんかは、Hotmailのサイトと同じなので、受信拒否の送信なんかもできるみたい。

常駐先じゃ、Webメール禁止なところが多いから、使用頻度が減ってるので、あまり複雑なことしないからね。
単純に一括管理用だから。いちいちブラウザひらいてログインしてっていうのをいくつも繰り返すよりははるかにマシです。
ま、基本Becky!だし、出社時と退社時にチェックする用ってことで。



0 コメント | コメントを書く | コメントの表示
Template Design: © 2007 Envy Inc.