<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://scripting.cocolog-nifty.com/blog/">
<title>Windows Script Programming</title>
<link>http://scripting.cocolog-nifty.com/blog/</link>
<description></description>
<dc:language>ja-JP</dc:language>
<dc:creator></dc:creator>
<dc:date>2008-07-04T00:45:58+09:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.typepad.com/" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/07/windowclose_1c55.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/07/post_f6bf.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/07/post_fd67.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/07/post_2bc3.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/ie_dca8.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/xpie7microsoft__f26b.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/post_2998.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/post_48cb.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/ie7ie_b862.html" />
<rdf:li rdf:resource="http://scripting.cocolog-nifty.com/blog/2008/06/vistacreateobje_2574.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/07/windowclose_1c55.html">
<title>window.close()で警告ダイアログを出さないで閉じる。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/07/windowclose_1c55.html</link>
<description>いろいろ方法があるようですが、 window.close() の代わりに、 wi...</description>
<content:encoded>&lt;p&gt;いろいろ方法があるようですが、&lt;/p&gt;

&lt;p&gt;window.close()&lt;/p&gt;

&lt;p&gt;の代わりに、&lt;/p&gt;

&lt;p&gt;window.open(&amp;quot;about:blank&amp;quot;,&amp;quot;_self&amp;quot;).close()&lt;/p&gt;

&lt;p&gt;同様に、&lt;/p&gt;

&lt;p&gt;window.parent.close()&lt;br /&gt;や&lt;br /&gt;window.top.close()&lt;/p&gt;

&lt;p&gt;の代わりに、&lt;/p&gt;

&lt;p&gt;window.open(&amp;quot;about:blank&amp;quot;,&amp;quot;_parent&amp;quot;).close()&lt;br /&gt;や&lt;br /&gt;window.open(&amp;quot;about:blank&amp;quot;,&amp;quot;_top&amp;quot;).close()&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-07-04T00:45:58+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/07/post_f6bf.html">
<title>バッチで、複数のコマンドを並列実行して、直後に一括して待ち合わせる。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/07/post_f6bf.html</link>
<description>コマンドライン１ 2 | コマンドライン２ 2 | コマンドライン３とします。 ...</description>
<content:encoded>&lt;p&gt;コマンドライン１ &amp;gt;&amp;amp;2 | コマンドライン２ &amp;gt;&amp;amp;2 | コマンドライン３&lt;br /&gt;とします。&lt;/p&gt;

&lt;p&gt;標準出力がないなら &amp;gt;&amp;amp;2 は不要です。&lt;/p&gt;

&lt;p&gt;notepad.exe | notepad.exe | notepad.exe&lt;br /&gt;みたいに。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-07-03T15:53:09+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/07/post_fd67.html">
<title>バッチから非同期に起動したアプリの終了を待ち合わせる。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/07/post_fd67.html</link>
<description>start notepad.exe running.1で、非同期に起動し、 de...</description>
<content:encoded>&lt;p&gt;start notepad.exe &amp;gt;running.1&lt;br /&gt;で、非同期に起動し、&lt;/p&gt;

&lt;p&gt;del running.1&lt;br /&gt;if exist running.1 (echo 実行中) else echo 終了済&lt;br /&gt;で、実行中か終了済かを判定し、&lt;/p&gt;

&lt;p&gt;:wait&lt;br /&gt;del running.1&lt;br /&gt;if exist running.1 sleep.exe 1 &amp;amp; goto :wait&lt;br /&gt;で、待ち合わせます。&lt;/p&gt;

&lt;p&gt;複数の場合は、running.1の数字を変えて。&lt;/p&gt;

&lt;p&gt;sleep.exeがないときは、ping.exe localhost -n 2 で代替して。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-07-02T15:00:10+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/07/post_2bc3.html">
<title>現在のセキュリティ設定では、このファイルをダウンロードできません。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/07/post_2bc3.html</link>
<description>ダウンロードできないとき、---------------------------...</description>
<content:encoded>&lt;p&gt;ダウンロードできないとき、&lt;br /&gt;---------------------------&lt;br /&gt;セキュリティの警告&lt;br /&gt;---------------------------&lt;br /&gt;現在のセキュリティ設定では、このファイルをダウンロードできません。&lt;br /&gt;---------------------------&lt;br /&gt;OK&amp;nbsp; &amp;nbsp;&lt;br /&gt;---------------------------&lt;br /&gt;というダイアログが出ます。&lt;/p&gt;

&lt;p&gt;このとき、そのダイアログの後ろに、もうひとつ、&lt;br /&gt;---------------------------&lt;br /&gt;0% / URL - ファイル名 完了しました&lt;br /&gt;---------------------------&lt;br /&gt;ファイルの情報を取得しています...&lt;br /&gt;URL - ファイル名&lt;br /&gt;---------------------------&lt;br /&gt;というダイアログが出ていることがあります。&lt;/p&gt;

&lt;p&gt;後ろのダイアログがないときは、そのセキュリティゾーンのセキュリティレベルで、&lt;br /&gt;「ファイルのダウンロード」を「無効にする」→「有効にする」&lt;br /&gt;後ろのダイアログがあるときは、前者の設定に加えて、&lt;br /&gt;「アプリケーションと安全でないファイルの起動」を「無効にする」→「ダイアログを表示する」&lt;/p&gt;

&lt;p&gt;つまり、アプリケーションと安全でないファイルのダウンロードには二重に鍵が掛かっているということです。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-07-01T16:37:13+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/ie_dca8.html">
<title>IEをデザインモードに変える。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/ie_dca8.html</link>
<description>なぜか、IEのメニューにないので、コンテキストメニューを拡張します。 Desig...</description>
<content:encoded>&lt;p&gt;なぜか、IEのメニューにないので、コンテキストメニューを拡張します。&lt;/p&gt;

&lt;p&gt;DesignMode.htm&lt;/p&gt;

&lt;p&gt;&amp;lt;script&amp;gt;&lt;br /&gt;external.menuArguments.top.document.designMode=&#39;On&#39;;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;

&lt;p&gt;レジストリ&lt;/p&gt;

&lt;p&gt;[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\デザインモードに変更(&amp;amp;D)]&lt;br /&gt;@=&amp;quot;C:\\どこか\\DesignMode.htm&amp;quot;&lt;/p&gt;

&lt;p&gt;逆の「ブラウズ表示」に戻すほうは、IEのコンテキストメニューにあります。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-27T17:24:21+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/xpie7microsoft__f26b.html">
<title>XP + IE7 で、Microsoft Internet Controls の参照設定が変です。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/xpie7microsoft__f26b.html</link>
<description>XP + IE6 では、Microsoft Internet Controls ...</description>
<content:encoded>&lt;p&gt;XP + IE6 では、Microsoft Internet Controls の参照先は、&lt;br /&gt;C:\WINDOWS\system32\shdocvw.dll&lt;br /&gt;ですが、IE7を入れると、&lt;br /&gt;C:\WINDOWS\system32\ieframe.dll&lt;br /&gt;に変わります。&lt;/p&gt;

&lt;p&gt;ところが、その状態では、いろいろ問題が出るようです。&lt;/p&gt;

&lt;p&gt;例えば、IE7のShell/IE分離に対応して、Shellを起こそうと、&lt;br /&gt;Dim ie As SHDocVw.ShellBrowserWindow&lt;br /&gt;Set ie = New SHDocVw.ShellBrowserWindow&lt;br /&gt;とすると、エラーになります。&lt;/p&gt;

&lt;p&gt;その場合、一度、Microsoft Internet Controls の参照設定を外して、&lt;br /&gt;C:\WINDOWS\system32\shdocvw.dll&lt;br /&gt;を参照設定し直します。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-25T16:24:44+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/post_2998.html">
<title>テキストファイルの行数を調べる。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/post_2998.html</link>
<description>よくあるのは、FSOで追加書き込みでオープンして、Lineプロパティを見るもので...</description>
<content:encoded>&lt;p&gt;よくあるのは、FSOで追加書き込みでオープンして、Lineプロパティを見るものです。&lt;/p&gt;

&lt;p&gt;Function NumberOfLines(File)&lt;br /&gt;Const forAppending=8&lt;br /&gt;Dim TStream&lt;br /&gt;Set TStream=CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;).OpenTextFile(File,forAppending)&lt;br /&gt;NumberOfLines=TStream.Line&lt;br /&gt;End Function&lt;/p&gt;

&lt;p&gt;しかし、このやり方には以下の問題があります。&lt;br /&gt;出力オープンがエラーになることがある。&lt;br /&gt;行数に１行の誤差が出ることがある。&lt;/p&gt;

&lt;p&gt;なら、FSOでReadオープンしてSkipLineで数えれば、そういう問題はありません。&lt;/p&gt;

&lt;p&gt;Function NumberOfLines(File)&lt;br /&gt;Dim TStream&lt;br /&gt;NumberOfLines=0&lt;br /&gt;Set TStream=CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;).OpenTextFile(File)&lt;br /&gt;Do While Not TStream.AtEndOfStream&lt;br /&gt;&amp;nbsp; TStream.SkipLine&lt;br /&gt;&amp;nbsp; NumberOfLines=NumberOfLines+1&lt;br /&gt;Loop&lt;br /&gt;End Function&lt;/p&gt;

&lt;p&gt;でも、性能が気になります。&lt;/p&gt;

&lt;p&gt;じゃ、一度にすべて読めば、速い？&lt;/p&gt;

&lt;p&gt;Function NumberOfLines(File)&lt;br /&gt;Dim TStream&lt;br /&gt;Set TStream=CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;).OpenTextFile(File)&lt;br /&gt;If Not TStream.AtEndOfStream Then TStream.ReadAll&lt;br /&gt;NumberOfLines=TStream.Line+(TStream.Column=1)&lt;br /&gt;End Function&lt;/p&gt;

&lt;p&gt;今度は、メモリが気になります。&lt;/p&gt;

&lt;p&gt;そこで、すべて読み飛ばします。&lt;/p&gt;

&lt;p&gt;Function NumberOfLines(File)&lt;br /&gt;Dim TStream&lt;br /&gt;Set TStream=CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;).OpenTextFile(File)&lt;br /&gt;Do While Not TStream.AtEndOfStream&lt;br /&gt;&amp;nbsp; TStream.Skip 1073741824&lt;br /&gt;Loop&lt;br /&gt;NumberOfLines=TStream.Line+(TStream.Column=1)&lt;br /&gt;End Function&lt;/p&gt;

&lt;p&gt;ところで、この TStream.Line+(TStream.Column=1) の意味は？&lt;/p&gt;

&lt;p&gt;TStream.Line は、UBound(Split(vbLf &amp;amp; TStream..ReadAll,vbLf)) みたいなもので、末尾の改行の有無によって、１行多く数えます。&lt;br /&gt;TStream.Column は、a=Split(vbLf &amp;amp; TStream..ReadAll,vbLf): Len(a(UBound(a)))+1 みたいなものです。&lt;br /&gt;なので、改行の後に文字がない場合(TStream.Column=1)、1を減じます(True=-1)。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-24T23:59:57+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/post_48cb.html">
<title>フレーム構成を表示するコンテキストメニュー拡張</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/post_48cb.html</link>
<description>フレームの構成を、 親フレームのURL子フレームのURL孫フレームのURL みた...</description>
<content:encoded>&lt;p&gt;フレームの構成を、&lt;/p&gt;

&lt;dl&gt;&lt;dt&gt;親フレームのURL&lt;dl&gt;&lt;dt&gt;子フレームのURL&lt;dl&gt;&lt;dt&gt;孫フレームのURL&lt;/dt&gt;&lt;/dl&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/dt&gt;&lt;/dl&gt;

&lt;p&gt;みたいに、インデントを付けて新規のウィンドウに表示します。&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;frames.htm&lt;/p&gt;

&lt;p&gt;&amp;lt;script language=jscript defer&amp;gt;&lt;br /&gt;var win=window.open(&amp;quot;about:blank&amp;quot;,&amp;quot;_blank&amp;quot;);&lt;br /&gt;var doc=win.document;&lt;br /&gt;doc.open(&amp;quot;text/html&amp;quot;);&lt;br /&gt;doc.writeln(&#39;&amp;lt;&#39;+&#39;dl&amp;gt;&#39;);&lt;br /&gt;doc.writeln(&#39;&amp;lt;&#39;+&#39;dt&amp;gt;&#39;+external.menuArguments.top.location+&#39;&amp;lt;&#39;+&#39;/dt&amp;gt;&#39;);&lt;br /&gt;subframes(external.menuArguments.top)&lt;br /&gt;doc.writeln(&#39;&amp;lt;&#39;+&#39;/dl&amp;gt;&#39;);&lt;br /&gt;doc.close();&lt;br /&gt;doc.title=&amp;quot;フレーム構成&amp;quot;;&lt;/p&gt;

&lt;p&gt;function subframes(frm){&lt;br /&gt;&amp;nbsp; doc.writeln(&#39;&amp;lt;&#39;+&#39;dl&amp;gt;&#39;);&lt;br /&gt;&amp;nbsp; try{&lt;br /&gt;&amp;nbsp; &amp;nbsp; for(var i=0; i&amp;lt;frm.frames.length; i++){&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;doc.writeln(&#39;&amp;lt;&#39;+&#39;dt&amp;gt;&#39;+frm.frames(i).location+&#39;&amp;lt;&#39;+&#39;/dt&amp;gt;&#39;);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;subframes(frm.frames(i));&lt;br /&gt;&amp;nbsp; &amp;nbsp; } &lt;br /&gt;&amp;nbsp; }catch(e){}&lt;br /&gt;&amp;nbsp; doc.writeln(&#39;&amp;lt;&#39;+&#39;/dl&amp;gt;&#39;);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;

&lt;p&gt;レジストリ&lt;/p&gt;

&lt;p&gt;[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\フレーム構成]&lt;br /&gt;@=&amp;quot;C:\\どこか\\frames.htm&amp;quot;&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-22T21:11:36+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/ie7ie_b862.html">
<title>IE7でIEの名前が変わりました。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/ie7ie_b862.html</link>
<description>IWebBrowser2.Nameが、IE6 Microsoft Interne...</description>
<content:encoded>&lt;p&gt;IWebBrowser2.Nameが、&lt;br /&gt;IE6 Microsoft Internet Explorer&lt;br /&gt;から&lt;br /&gt;IE7 Windows Internet Explorer&lt;br /&gt;に変わりました。&lt;/p&gt;

&lt;p&gt;もし、IEのタイトルでAppActivateしてたりすると困ります。&lt;/p&gt;

&lt;p&gt;エクスプローラの名前は、XP SP3でも、IE6と同じで、変わってません。&lt;br /&gt;ひょっとして、Vistaでは、変わってるかも知れません。。。&lt;br /&gt;と言っても、エクスプローラのタイトルには現れませんが。。。&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-21T20:15:19+09:00</dc:date>
</item>
<item rdf:about="http://scripting.cocolog-nifty.com/blog/2008/06/vistacreateobje_2574.html">
<title>Vistaの保護モードで、CreateObject(InternetExplorer.Application)を使う。</title>
<link>http://scripting.cocolog-nifty.com/blog/2008/06/vistacreateobje_2574.html</link>
<description>Vistaの保護モードでは、困ったことに、 Set ie=CreateObjec...</description>
<content:encoded>&lt;p&gt;Vistaの保護モードでは、困ったことに、&lt;/p&gt;

&lt;p&gt;Set ie=CreateObject(&amp;quot;InternetExplorer.Application&amp;quot;)&lt;br /&gt;ie.Visible=True&lt;br /&gt;ie.Navigate &amp;quot;about:blank&amp;quot;&lt;br /&gt;Do While ie.Busy Or ie.ReadyState&amp;lt;&amp;gt;4&lt;br /&gt;&amp;nbsp; WScript.Sleep 100&lt;br /&gt;Loop&lt;/p&gt;

&lt;p&gt;がまともに動かないらしい。&lt;/p&gt;

&lt;p&gt;保護モードを解除せずに、これを回避する方法は？&lt;br /&gt;IEを新規に起こすケースが駄目？&lt;br /&gt;既存ならＯＫ？&lt;/p&gt;

&lt;p&gt;もし、そうなら、たぶん、これで行けると思うのですが、Vista環境がないので試せません。&lt;/p&gt;

&lt;p&gt;と思ったら、新規でも既存でも駄目みたいですね。なら、これならどうだろ？&lt;/p&gt;

&lt;p&gt;Set Shell=CreateObject(&amp;quot;Shell.Application&amp;quot;)&lt;br /&gt;Shell.ShellExecute &amp;quot;iexplore.exe&amp;quot;,&amp;quot;-embedding&amp;quot;&lt;br /&gt;Do&lt;br /&gt;&amp;nbsp; For Each ie In Shell.Windows()&lt;br /&gt;&amp;nbsp; &amp;nbsp; If ie.ReadyState&amp;lt;&amp;gt;0 Then&lt;br /&gt;&amp;nbsp; &amp;nbsp; ElseIf LCase(Right(ie.FullName,13))=&amp;quot;\iexplore.exe&amp;quot; Then&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;Exit Do&lt;br /&gt;&amp;nbsp; &amp;nbsp; End If&lt;br /&gt;&amp;nbsp; Next&lt;br /&gt;&amp;nbsp; WScript.Sleep 100&lt;br /&gt;Loop&lt;br /&gt;ie.Visible=True&lt;br /&gt;ie.Navigate &amp;quot;about:blank&amp;quot;&lt;br /&gt;Do While ie.Busy Or ie.ReadyState&amp;lt;&amp;gt;4&lt;br /&gt;&amp;nbsp; WScript.Sleep 100&lt;br /&gt;Loop&lt;/p&gt;</content:encoded>


<dc:subject>パソコン・インターネット</dc:subject>
<dc:subject>プログラミング</dc:subject>

<dc:creator>ウィンドウズスクリプトプログラマ</dc:creator>
<dc:date>2008-06-20T02:05:05+09:00</dc:date>
</item>


</rdf:RDF>
