2017-03-15 16 views
0

WindowsバッチファイルにVBScriptを埋め込むことができません。コード cadastro.batのWindowsバッチファイルに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 "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を望んでいたが、私を助けてくれてありがとう。

答えて

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> 

このハック '' を使用しますがhereを説明しました。ここでは、バッチ部分は、XMLコメントブロックに入れていないが、それは正常に動作する必要がありますし、私は堅牢性のためにあなたがコメントブロックを置くことができますが、それはより多くのreadable.Usuallyます。cscriptパーサは、.wsfファイルに見えるだけいただきまし<package>間のタグを取得します見つけますバッチコード(またはより堅牢なコードの場合はCDATA)。

+0

こんにちは友人、 私はあなたが私を与えたと私は、検索をエクスポートすることができませんでしたコードをテストしました。 検索に行くと別の.BATが開きます。 – WillianRC

関連する問題