''コメントはここにどうぞ'' (サイトの趣旨に合わないものは削除します)
-間違い指摘
-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};

#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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS