イラストAC フリー素材

2010年07月21日


ファイルの分割と結合



ブラウザでダウンロード
比較的ファイルサイズが小さいので

コマンドプロンプトベースのアプリケーションは、必ずしもディスク内に置いておく必要もありません。必要な時にダウンロードして実行すれば良いわけで、また、そのファイルがたとえ書庫であっても、解凍用のコマンドラインプログラムも同時にダウンロードしてしまえば良いわけです。

そのような一連の作業を全て記述したスクリプトを使って、拡張コマンドとして利用すれば、コマンドプロンプトは結構な拡張領域を持った便利なツールになると思います。

ただ、問題が一つ。

いいアプリケーションはたくさんあるのですが、何故か「再配布」に条件を付けるフリーソフトが多く、ややこしくなるのでそういう場合は直接配布先からダウンロードして実行せざるを得ません。公開せずに自分だけ使うという運用ならば、自分のサイトからコピーをダウンロードして使うのですけれど。

この split.exe は、再配布に条件が付いていますし、かなり古いソフトなので直接ダウンロードしています。最悪、配布先が閉じてしまったら使えなくなりますので注意して下さい。

結合について

コマンドプロンプト上では常識ですが、COPY コマンドで結合する事ができます。
COPY /B ファイル1 + ファイル2 + ファイル3 結合結果ファイル という書式で結合されます。Windows のヘルプを読むと、/B の影響について書かれていますが、要するに一度だけ指定するといいです。

また、split.exe が作成する分割ファイルは、7-Zip のエクスプーラから実行する「解凍」で結合する事ができます。元のファイルが解凍可能な書庫であれば、同時に解凍された内容が展開されます。7-Zip では、zip や 7z の圧縮に加えて
たいていの書庫も解凍ができます。lzh はセキュリティの問題でなくなるかもしれないので、最近は 7-Zip で zip 書庫を作っていますが、エクスプローラのメニューから行う操作はとても使い勝手が良いです。
<JOB>
<COMMENT>
************************************************************
■著作権その他

■ 使用方法 cscript.exe lsplit.wsf ファイルパス 分割サイズ

	分割サイズ : 数値のみは K、最後にM を付けると
		     メガバイト

	卓人氏の配布している split.exe をダウンロードして
	ファイル分割を行います
	( http://www.geocities.jp/web_takuto/ )

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
</COMMENT>

<OBJECT id="Fso" progid="Scripting.FileSystemObject" /> 
<OBJECT id="WshShell" progid="WScript.Shell" /> 

<SCRIPT language="VBScript"
	src="http://homepage2.nifty.com/lightbox/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )
Call laylaLoadFunction( "toolFunction.vbs" )

Crun

Dim strFile : strFile = "split.exe"
Dim strSize : strSize = "1M"
if Wscript.Arguments.Length = 0 then
	Wscript.Echo "分割するファィルを指定して下さい"
	Wscript.Quit
end if
if Wscript.Arguments.Length = 1 then
	Wscript.Echo "分割サイズは " & strSize & " に設定されました"
else
	strSize = Wscript.Arguments(1)
	if Right( strSize, 1 ) = "M" then
		Wscript.Echo "分割サイズは " & strSize & " に設定されました"
	else
		Wscript.Echo "分割サイズは " & strSize & "K に設定されました"
	end if
end if

if Not Fso.FileExists( TempDir & "\split\" & strFile ) then

	strDownloadPlace = "http://www.geocities.jp/web_takuto/soft/split_12.lzh"
	ret = HTTPDownload( strDownloadPlace, TempDir & "\split.lzh" )
	if not ret then
		Wscript.Echo ErrorMessage
		Wscript.Quit
	end if
	Wscript.Echo strDownloadPlace & " をダウンロードしました"

	strDownloadPlace = "http://homepage2.nifty.com/lightbox/Lhasa.exe"
	ret = HTTPDownload( strDownloadPlace, TempDir & "\Lhasa.exe" )
	if not ret then
		Wscript.Echo ErrorMessage
		Wscript.Quit
	end if
	Wscript.Echo strDownloadPlace & " をダウンロードしました"

	strCommand = Dd( TempDir & "\Lhasa.exe" ) & " -d- -a -q -f -e- " & Dd(TempDir & "\split.lzh")
	Call WshShell.Run( strCommand, 0, True )

else
	Wscript.Echo "既に split.exe はダウンロード済です"
end if

Dim strCommand : strCommand = _
	Dd(TempDir & "\split\" & strFile) & _
	" /Y /" & strSize & " " & _
	Dd(Wscript.Arguments(0))

Call WshShell.Run( strCommand, 0, True )
Wscript.Echo "分割が終了しました"

</SCRIPT>

</JOB>





posted by at 2010-07-21 23:23 | Comment(0) | 拡張コマンド | このブログの読者になる | 更新情報をチェックする

2010年07月18日


コマンドプロンプト(cmd.exe)起動時の長いプロンプトを短くする : 起動時に最初に実行するコマンドの登録

ブラウザでダウンロード
コマンドプロンプトは起動されると通常カレントディレクトリをプロンプト
に表示しますが、深い階層での実行になると、ヘタをするとプロンプトだけ
で折り返してしまう可能性すらあります。以下のようにレジストリに登録し
ておけば、実行の最初だけディレクトリを表示してプロンプトは > のみにな
ります。

また、本来のプロンプトが必要であれば、cmd.exe /D とすれは良いだけです。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="echo CUR : %CD% & prompt $G"


以下はアンインストール用の .reg ファイルです
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"=-


関連する記事

.regファイルでレジストリのキーや値を削除


posted by at 2010-07-18 22:49 | Comment(0) | 環境 | このブログの読者になる | 更新情報をチェックする

2010年07月15日


サービスの「手動 / 自動 / 無効」の変更

※ この例は、タスクスケジューラの設定例です。
※ start= の後ろにスペースが必要である事に注意して下さい。
※ Schedule は、サービス名です。表示名ではありません
※ 成功すると、[SC] ChangeServiceConfig SUCCESS と表示されます
手動
sc config Schedule start= demand
自動
sc config Schedule start= auto
無効
sc config Schedule start= disabled


タグ:サービス
posted by at 2010-07-15 17:49 | Comment(0) | コマンドプロンプト | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

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

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

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

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


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

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

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

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

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