我无法在Windows批处理文件中嵌入VBScript。
部分代码 cadastro.bat:
@echo off
echo.
set /p opcao3= DESEJA EXPORTAR ? (S-SIM / N-NAO):
if %opcao3%== s goto:Export else goto :Error
if %opcao3%== S goto:Export else goto :Error
if %opcao3%== n goto:Buscar else goto :Error
if %opcao3%== N goto:Buscar else goto :Error
echo.
:Export
For /f "delims=" %%i in ('Cscript //nologo "script_.vbs" "Selecione uma pasta"') do Set "folder=%%i\%codigoPesq%__RELATORIO.txt"
For /f "eol=- delims=" %%i in ('find /I "%codigoPesq%__" Registros') do >>"%folder%" Echo.%%i
START %folder%
ECHO.
ECHO.
ECHO.
ECHO.
ECHO VERIFIQUE O LOCAL [%folder%]
ECHO.
echo.
echo ENTER PARA VOLTAR AO MENU PRINCIPAL
script.vbs:
Dim objFolder, objShell
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Selecione uma pasta.", &H4000, 0)
If Not (objFolder Is Nothing) Then
wscript.echo objFolder.Self.path
Else
wscript.echo 0
End If
我只是想让vbscript进入批处理内,谢谢你的帮助。
答案 0 :(得分:2)
据我所知,你想要一个包含vbscript和批处理代码的文件。如果是,试试这个:
@echo off
echo.
set /p opcao3= DESEJA EXPORTAR ? (S-SIM / N-NAO):
if %opcao3%== s goto:Export else goto :Error
if %opcao3%== S goto:Export else goto :Error
if %opcao3%== n goto:Buscar else goto :Error
if %opcao3%== N goto:Buscar else goto :Error
echo.
:Export
For /f "delims=" %%i in ('cscript //nologo "%~f0?.wsf" //job:VBS') do Set "folder=%%i\%codigoPesq%__RELATORIO.txt"
For /f "eol=- delims=" %%i in ('find /I "%codigoPesq%__" Registros') do >>"%folder%" Echo.%%i
START %folder%
ECHO.
ECHO.
ECHO.
ECHO.
ECHO VERIFIQUE O LOCAL [%folder%]
ECHO.
echo.
echo ENTER PARA VOLTAR AO MENU PRINCIPAL
exit /b %errorlevel%
<package>
<job id="VBS">
<script language="VBScript">
Dim objFolder, objShell
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Selecione uma pasta.", &H4000, 0)
If Not (objFolder Is Nothing) Then
wscript.echo objFolder.Self.path
Else
wscript.echo 0
End If
</script>
</job>
</package>
这使用&#39; hack&#39;描述here。虽然这里批处理部分没有放在xml注释块中,但它应该工作正常,我发现它更具可读性。通常cscript解析器会查看.wsf
个文件,并且只获取<package>
个标记之间的内容,但是为了健壮性您可以为批处理代码添加注释块(或者为更强大的代码添加CDATA)。