SQLの窓

2009年08月30日


バッチファイルで、FOR に渡すパラメータの妥当性チェックを行う

@echo off

if "%1" == "" (echo コマンド番号を指定して下さい & goto end)
if "%1" == "0" (echo 番号は1以上です & goto end)

call :ErrorCheck %1 %~dp0_list.bat 2> null
if "%ERRORLEVEL%" == "1" (goto end)

for /F "delims= skip=%1" %%i in (%~dp0_list.bat) do (
	%%i
	goto end
)


REM サブルーチン用エリアを作る為の JUMP
goto end


REM ループ処理の事前エラーチェック
:ErrorCheck
call :setErrorLevel 1
for /F "skip=%1" %%i in  (%2) do (call :setErrorLevel 0)
if "%ERRORLEVEL%" == "1" (echo パラメータが不正です)
exit /B

REM errorlevel 設定用
:setErrorLevel
exit /B %1


REM 終了
:end

ERRORLEVEL を判断用に使う為に( 汎用性のため )
setErrorLevel というサブルーチンを作成しています。

FOR のパラメータに不正があると、do を実行しないので、
ERRORLEVEL が設定されたかどうかでエラーを判断します。

FOR が出力する標準エラー出力は直接取得できないので、
サブルーチン化して FOR の出力するエラーメッセージを抑制しています

関連する記事
バッチファイルで、ファイルの中の行を指定してその行の文字列を実行する


posted by lightbox at 2009-08-30 21:31 | コマンド : バッチファイル | このブログの読者になる | 更新情報をチェックする

バッチファイルで、ファイルの中の行を指定してその行の文字列を実行する

listexec.bat
@echo off

if "%1" == "" (echo コマンド番号を指定して下さい & goto end)
if "%1" == "0" (echo 番号は1以上です & goto end)

for /F "delims= skip=%1" %%i in (%~dp0_list.bat) do (
	%%i
	goto end
)

echo リストの最大値を超えています

:end

_list.bat
@echo off
dir "C:\user"
dir "C:\Documents and Settings\lightbox\My Documents\My Pictures"
dir "C:\Documents and Settings\lightbox\Local Settings\Temp"
dir "C:\Documents and Settings\lightbox\SendTo"
dir "C:\Documents and Settings\lightbox\Favorites"

listexec.batと_list.bat を同じディレクトリに置いて実行します

例 : listexec 1
例 : listexec 5

listexec や listexec 6 はエラーになります

_list.bat を一連の JOB として考えると、for の中の goto end を削除する事によって、
どこか途中からやりなおす、というような使い方が可能です
( その場合、for から出た後のメッセージを変更する必要があります )


posted by lightbox at 2009-08-30 20:27 | コマンド : バッチファイル | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり