''コメントはここにどうぞ'' (サイトの趣旨に合わないものは削除します) -間違い指摘 -TIPs情報 -リクエスト -WinNT4やWin2003Server,Vistaの相違情報 等、よろしくお願いします。 すみませんが、スパムよけのため、JavaScriptオンでないと投稿できません。 If you are not Japanese, I would like you to commnet HOW you know this pages. JavaScript is needed to post a comment. #article **日時を得る の :retry の位置 [#d38756ca] > &new{2007-08-27 (月) 02:11:50};~ ~ 日時を得る の :retry の位置がおかしい気がします~ // - ありがとうございます。おっしゃる通り・・・なぜ、こういう誤りが・・・よくあるテスト後のお色直しでのミスですね -- (otn さん) &new{2007-08-27 (月) 14:45:04}; - >tmp.vbs echo Set WSH=WScript.CreateObject("WScript.Shell")の部分でエラーが発生しました。 -- (F論太 さん) &new{2008-10-29 (水) 16:31:55}; - 結果的には、WSH→WshShellに書き換えてうまく行きました。 -- (F論太 さん) &new{2008-10-29 (水) 16:33:10}; - 確かに。修正します。 -- (otn さん) &new{2009-05-03 (日) 11:00:21}; - YZKntlDoTTZt -- (remolait さん) &new{2009-05-11 (月) 04:37:55}; - AlWKzFJJicuPKPP -- (dmutro さん) &new{2009-05-12 (火) 07:50:19}; - KoNEWbptYO -- (prizrak さん) &new{2009-05-13 (水) 12:57:07}; - kiaTqAgnavFAEjYrMe -- (bizzari さん) &new{2009-05-14 (木) 15:42:51}; #comment **Nice site [#k39138ba] >(Valintino さん) &new{2007-07-23 (月) 21:54:21};~ ~ Hello, Your site is great. Regards, Valintino Guxxi~ // #comment **you do iz besz [#wbb27690] >(govokinolij さん) &new{2007-07-10 (火) 03:19:34};~ ~ Hello ~ Looks good! Very useful, good stuff. Good resources here. Thanks much! ~ G'night~ // #comment **拡張子関連付け起動で拡張子が無視されexeファイルと見なされるケース [#l42746de] >(ym さん) &new{2006-09-18 (月) 12:29:00};~ ~ mixi方面でコメントいただいて試してみたのですが、~ ~ - '.bat'や'.cmd' を実行すると、昔ながらのバッチファイルとして実行(というか'MZ$'を実行しようとしてエラーになる)~ - 未登録拡張子だと実行形式かどうかを判断~ - 拡張子なしだとエラー~ ~ という動きでした。~ ~ 奥が深い。。。ではなくて、ちょっとしたdungeonですね。~ // #comment **ファイル名が ^ を含む場合の動作 [#te01dd32] >(maxwell さん) &new{2006-09-06 (水) 10:25:31};~ ~ ファイル名が ^ を含む場合の動作ですが、~ ~ 1.サブルーチンへ引数を渡すと ^ → ^^ となる。~ ~ 2.For 文のなかで、%A などの変数に ^ が含まれていて%WORK%などの環境変数に代入すると、 ^ → ^^ となる。%WORK% などから %TEMP% などへの代入だと起こらない。これと同じ事が %~sA などの展開でも起こっていると思われる。~ ~ という事のようですね。~ という事で、2.の For 文の中では手が無い様に思われます。~ ショートファイル名に展開する場合に私は、~ ~ For /F "skip=4 tokens=4,*" %%A in ('Dir /x') do (…~ ~ という形で逃げました。~ // - 上記の、「%~sA などの展開で起こっている」というのは、展開してもショートファイル名にならず元のままになってしまう事を言っています。 -- (maxwell さん) &new{2006-09-06 (水) 14:17:27}; #comment **「%~sA のバグ」の間違い…だと思うのですが… [#i8ae38d0] >(maxwell さん) &new{2006-09-04 (月) 16:32:18};~ ~ 「%~sA のバグ」のショートファイルネームを返す処理ですが、サブルーチン「:loop」の4行目、「set "SFN=%SFN:&=^&%"」は、不要ではないでしょうか?~ // - 無いとパスに&が含まれると駄目です。^ を含む場合の動作がおかしかったので追記しました。 -- (otn さん) &new{2006-09-05 (火) 00:53:33}; - 「:loop」の4行目を今のままにすると、最後の「echo %SFN%」で「&」が「^&」となります。表示前に加工するか、「:sfnsub の4行目、「call :loop %ARG%」を「call :loop "%ARG%"」 -- (maxwell さん) &new{2006-09-05 (火) 09:56:01}; - すみません。手がEnterキーに触れて編集中の文章を投稿してしまいました。「:sfnsub」の4行目の「call :loop %ARG%」を「call :loop "%ARG%"」とし、最後の表示も「echo "%SFN%"」とすれば良いのでは?という事です。 -- (maxwell さん) &new{2006-09-05 (火) 09:59:38}; - テストした限り大丈夫なのですが、時間があるときにテストパターンを増やして見直してみます。現実的には(ちょっときたないですが)、command.com を使うのが確実ですね。 -- (otn さん) &new{2006-09-07 (木) 01:39:01}; - 私が試したパターンは&の前後にスペースがあるファイル名でした。私の方法だと、&の前か後ろにスペースがあれば問題は無いのですが、前後ともスペースで無い場合バグりました。呼び出し側で呼出し前に「&→^&」としてサブルーチン側で呼出し直後に「^^&→&」とすると良いようです。 -- (maxwell さん) &new{2006-09-07 (木) 10:11:41}; - すみません。1つ前の発言は、またまた勘違いです。最初、エクスプローラ上でドラッグ&ドロップでファイル名を渡していたのですが、これだと&以降がカットされてしまう様です。で、ファイル名を直接入れると1つ前の発言の処理はなしで良いようです。 -- (maxwell さん) &new{2006-09-07 (木) 10:24:12}; #comment **「%~sA のバグ」解決法の「%」対応 [#x5f5cbe0] >(maxwell さん) &new{2006-09-01 (金) 11:05:42};~ ~ サブルーチンに渡す引数に以下の様な加工をすると、上手く動作しました。~ 「%」も「!」も問題なく処理出来てます。~ ~ SetLocal ENABLEDELAYEDEXPANSION~ Set "ARG=!ARG:%%=%%%%!"~ EndLocal&Set "ARG=%ARG%"~ // #comment **「%~sA のバグ」解決法は間違ってました。 [#xf30b426] >(maxwell さん) &new{2006-08-14 (月) 10:48:41};~ ~ すみません。~ // #comment **「%~sA のバグ」解決法 [#s955e877] >(maxwell さん) &new{2006-08-11 (金) 14:44:55};~ ~ ディレクトリでは問題が起きない様なので、こんなのはどうでしょうか。~ :SFNSUB Set "TGT_FILE=%~1" Set "TGT_FILE=%TGT_FILE:^^=^%" For %%A in ("%TGT_FILE%") do ( For /F "tokens=*" %%B in ("%%~dpA") do ( For /F "tokens=4 delims= " %%C in ('Dir /x "%%~B"^| FindStr /C:"%%~nxA"') do Set SFN=%%~sB%%~C ) ) Set TGT_FILE= Goto :EOF // - コメントありがとうございます。findstrでファイル名が完全一致しなくても引っかかってしまいますね。 -- (otn さん) &new{2006-09-05 (火) 01:05:29}; #comment **メモ [#i76acd75] >(otn さん) &new{2006-04-04 (火) 12:02:43};~ ~ REG QUERY コマンドでキー名や値名、データなどに日本語があるとだめ。~ // #comment **メモ [#h454d0af] >(otn さん) &new{2006-04-04 (火) 12:01:35};~ ~ findstr /gFILE で、FILE中の「あ」など0xA0を含む文字がうまく処理されない(ヒットするはずがヒットしない)。~ // #comment **拡張子関連付け起動で拡張子が無視されexeファイルと見なされるケース [#jf2fbd14] >(フフフ さん) &new{2006-01-27 (金) 23:24:41};~ ~ explorerはShellExecute()を、cmd.exeはCreateProcess()を使っているのでは?~ CreateProcess()を使って16ビットアプリケーションを実行するためには~ lpApplicationName=NULLの必要があり、ファイル名にパスが含まれている~ 場合、.exe は追加されず、実行可能ファイルとして検索し、先頭がMZでPEでない~ 場合に16ビットEXEとみなすのでは?~ 「MZ80は8ビットパソコン」を起動したら奇妙な動きだった。(W2K Pro)~ // #comment