ここに別の方法があります。は:::
VBS では無害で、バッチではコメントのように機能します。特に優れているのは、VBS コードのエスケープについて心配する必要がないことです。
選択:::
したのは、バッチ スクリプトの他の場所に現れる可能性が低いためです。一方:
、バッチ ラベルで::
使用され、バッチ コメントとして頻繁に使用されます。
::: set shell = createobject("wscript.shell")
::: wscript.sleep(1000)
::: shell.sendkeys("blablabla")
::: Shell.SendKeys "{Enter}"
::: wscript.sleep(1000)
findstr /b ::: "%~f0" >"c:\folder\blablabla.vbs"
VBS の開始を示す文字列のみを必要とするその他のオプションを次に示します。大量の VBS を処理する場合は、より簡単に記述できます。exit /b
VBSの前に必ず持ってください。
この 2 番目のオプションは遅く、現在書かれているように空行を取り除きます。
@echo off
setlocal
set "vbs=test.vbs"
for /f "delims=:" %%N in ('findstr /nb ":: begin VBS" "%~f0"') do set "skip=%%N"
(for /f usebackq^ skip^=%skip%^ delims^=^ eol^= %%A in ("%~f0") do echo %%A) >"%vbs%"
cscript /nologo "%vbs%"
del "%vbs%"
exit /b
:: begin VBS
set shell = createobject("wscript.shell")
wscript.sleep(1000)
shell.sendkeys("dir *.h*")
Shell.SendKeys "{Enter}"
wscript.sleep(1000)
この 3 番目のオプションは高速ですが、MORE はタブを一連のスペースに変換します。
@echo off
setlocal
set "vbs=test.vbs"
for /f "delims=:" %%N in ('findstr /nb ":: begin VBS" "%~f0"') do set "skip=%%N"
more +%skip% "%~f0" >"%vbs%"
cscript /nologo "%vbs%"
del "%vbs%"
exit /b
:: begin VBS
set shell = createobject("wscript.shell")
wscript.sleep(1000)
shell.sendkeys("dir *.h*")
Shell.SendKeys "{Enter}"
wscript.sleep(1000)