How to put . vbs inside . bat

Asked

Viewed 1,720 times

0

I’m putting together a project and I couldn’t put up the file .vbs within the .bat.

criminal record.bat:

    @echo off
    :Menu
    cls
    echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo.º                                                                             º
    echo.º                  ESCOLHA UMA DAS OP€åES ABAIXO E TECLE ENTER                º
    echo.º                                                                             º
    echo.ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º  [1] ADICIONAR                                                              º
    echo.º                                                                             º
    echo.º  [2] BUSCAR                                                                 º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.º                                                                             º
    echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    echo.          PC NAME ( %USERNAME% ) DATA: %date%  HORA: %time:~0,5%            
    echo. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    set /p opt1= Digite a op‡ao:
    if "%opt1%"=="" goto Error
    if %opt1%==1 goto:Adicionar else goto:Error
    if %opt1%==2 goto:BusCodigo else goto:Error
    :Error
    cls
    echo.
    echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo.º                               º
    echo.º    Houve um erro.             º
    echo.º Foi digitado valor incorreto  º
    echo.º Digite o numero correto.      º
    echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    rem pause>nul
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo.
    echo  VOLTANDO A TELA ANTERIOR...
    goto:Menu

    :Adicionar
    cls
    color 0b
    title SYSTEM - Adicionar Registro
    echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo.º                                                      º                      º
    echo.º                    ADICIONAR REGISTRO                º [V] VOLTAR AO MENU   º
    echo.º                                                      º                      º
    echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    rem ###Nesta linha Caso nao exista o arquivo para gravacao e leitura sera criado o arquivo com codigo zero "0" .###
    if NOT exist Cont echo 0 > Cont
    if NOT exist Cont2 echo 0 > Cont2

    set /p cod=< Cont
    set /a cod=%cod%+1

    set /p codg=< Cont2
    set /a codg=%codg%+1
    echo  %date%  %time:~0,5%
    echo  Codigo: %cod%
    echo.ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
    rem ###Obtendo dadas para a gravacao###.
    set codigo=%cod%
    set codig=%codg%
    echo.

    :Cad1
    set /p Nome= NOME :

    FOR /F "DELIMS=0123456789" %%§ IN ("%Nome%") DO (
    GOTO :Cad2
    )
    IF "%Nome%"=="" goto Campo1Branco
    if %Nome%==v CLS&goto Redireciona
    if %Nome%==V CLS&goto Redireciona
    GOTO :ERRO

    :Campo1Branco

    echo CAMPO EM BRANCO, DIGITE UM VALOR!

    goto Cad1

    :ERRO
    echo VOCE DIGITOU (%Nome%) DIGITE SOMENTE LETRAS
    echo.
    GOTO :Cad1

    :Cad2
    echo.
    set /p telf= TELEFONE :

    if %telf%==v CLS&goto Redireciona
    if %telf%==V CLS&goto Redireciona

    FOR /F "DELIMS=abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ" %%§ IN ("%telf%") DO (
    GOTO :Gravar
      )
    IF "%telf%"=="" goto Campo2Branco
    GOTO :ERRO2

    :Campo2Branco

    echo CAMPO EM BRANCO, DIGITE UM VALOR!

    goto Cad2

    :ERRO2
    rem CLS
    echo VOCE DIGITOU (%telf%) DIGITE SOMENTE NUMEROS
    echo.
    GOTO :Cad2

    rem ###Fim da obtencao dos dadas.###

    echo ------------------

    rem ###Gravando os dados###
    :Gravar
    echo. %codigo% > Cont
    echo. %codig% > Cont2
    echo %codigo%__Nome:............[ %Nome% ] >>Registros
    echo %codigo%__Telefone:........[ %telf% ] >>Registros
    echo %codigo%__Data:............[ %date% ] >>Registros
    echo %codigo%__Hora:............[ %time:~0,5% ] >>Registros
    echo.                                      >> Registros
    echo PC NAME( %USERNAME% ) Login:(%login%) Adicionou o Registro nº (%codigo%) data e hora:(%date% %time:~0,5%) >> Log_Adicionar_Registros.txt
    rem ###Fim da gravacao dos dados###


    echo REGISTRO ADICIONADO COM EXITO...
    ping localhost -n 2.8 >nul
    echo VOLTANDO AO MENU PRINCIPAL...
    ping localhost -n 2.8 >nul
    cls
    Goto Menu

    :BusCodigo
    cls
    echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo.º                                                      º                      º
    echo.º                      BUSCAR CODIGO                   º     [V] VOLTAR       º
    echo.º                                                      º                      º
    echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    set /P "codigoPesq=- DIGITE O CODIGO PARA PESQUISAR: "
    if %codigoPesq%==v CLS&goto Menu
    if %codigoPesq%==V CLS&goto Menu
    cls
    echo.ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo.º                                                      º                      º
    echo.º                      RESULTADOS BUSCAR CODIGO        º     [V] VOLTAR       º
    echo.º                                                      º                      º
    echo.ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    echo.
    if exist Registros find  /I "%codigoPesq%__" Registros
    echo.
    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
    pause>nul

    Goto :Menu

This is the 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

2 answers

5


You can generate the .vbs at run time of your batch:

echo Dim objFolder^, objShell > script_.vbs
echo Set objShell ^= CreateObject^(^"Shell.Application^"^) >> script_.vbs
echo Set objFolder ^= objShell.BrowseForFolder^(0^, ^"Selecione uma pasta.^"^, ^&H4000, 0^) >> script_.vbs
echo If Not ^(objFolder Is Nothing^) Then >> script_.vbs
echo    wscript.echo objFolder.Self.path >> script_.vbs
echo Else >> script_.vbs
echo    wscript.echo 0 >> script_.vbs
echo End If >> script_.vbs

Notice I put some ^, because there are some special characters, and we need to escape from them:

inserir a descrição da imagem aqui

  • THANK YOU VERY MUCH, FRIEND.

2

  • Update (now that I think I’m done!) Bat + VBS in a single file Bat!??

  • What you seek is to have a Bat/VBS in a single file, i.e., a hybrid script of Bat & VBS?

It is possible using of comments on the part/execution of bat and vbs, making the script bat tartar comments on the running bat, and calling yourself to run on CScritpt.exe , where, in part VBS, the code in bat is between comment tags, when executing VBS:


the scope is like this:

<!-- :: *// comentário, ignorada no bat e usada como comentário na execução VBS
seus comandos/linhas do bat vão entrar aqui!... 
seus comandos/linhas do bat vão entrar aqui!... 
....
em alguma momento, seu comando é para chamar/rodar em VBS...
....
continua os seus comandos/linhas do bat continuam aqui!... 
continua os seus comandos/linhas do bat continuam aqui!...
..... 
exit /b  *// finaliza execução do bat e ...
# -->    *// fecha comentário bat/vbs
<job><script language="vbscript"> *// inicio do código em VBS
 seus códigos/linhas em vbs vai entrar aqui
 seus códigos/linhas em vbs vai entrar aqui
...
</script></job>*// fim do código em VBS

  • Example already porting to your Bat c/ VBS in/together in one, it would look like this:
<!-- :: 
@echo off
:Menu
cls
echo.ÉÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃû
echo.º                                                                             º
echo.º                  ESCOLHA UMA DAS OP€åES ABAIXO E TECLE ENTER                º
echo.º                                                                             º
echo.ÃŒÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃù
echo.º                                                                             º
echo.º                                                                             º
echo.º  [1] ADICIONAR                                                              º
echo.º                                                                             º
echo.º  [2] BUSCAR                                                                 º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.º                                                                             º
echo.ÈÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃü
echo.          PC NAME ( %USERNAME% ) DATA: %date%  HORA: %time:~0,5%            
echo. ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ
set /p opt1= Digite a op‡ao:
if "%opt1%"=="" goto Error
if %opt1%==1 goto:Adicionar else goto:Error
if %opt1%==2 goto:BusCodigo else goto:Error
:Error
cls
echo.
echo.ÉÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃû
echo.º                               º
echo.º    Houve um erro.             º
echo.º Foi digitado valor incorreto  º
echo.º    Houve um erro.             º
echo.º Foi digitado valor incorreto  º
echo.º Digite o numero correto.      º
echo.ÈÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃü
rem pause>nul
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo  VOLTANDO A TELA ANTERIOR...
goto:Menu

:Adicionar
cls
color 0b
title SYSTEM - Adicionar Registro
echo.ÉÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃû
echo.º                                                      º                      º
echo.º                    ADICIONAR REGISTRO                º [V] VOLTAR AO MENU   º
echo.º                                                      º                      º
echo.ÈÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃü
rem ###Nesta linha Caso nao exista o arquivo para gravacao e leitura sera criado o arquivo com codigo zero "0" .###
if NOT exist Cont echo 0 > Cont
if NOT exist Cont2 echo 0 > Cont2

set /p cod=< Cont
set /a cod=%cod%+1

set /p codg=< Cont2
set /a codg=%codg%+1
echo  %date%  %time:~0,5%
echo  Codigo: %cod%
echo.ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ
rem :: ###Obtendo dadas para a gravacao###.
set codigo=%cod%
set codig=%codg%
echo.

:Cad1
set /p Nome= NOME :

FOR /F "DELIMS=0123456789" %%§ IN ("%Nome%")DO GOTO:Cad2
)
IF "%Nome%"=="" goto Campo1Branco
if %Nome%==v CLS&goto Redireciona
if %Nome%==V CLS&goto Redireciona
GOTO :ERRO

:Campo1Branco

echo CAMPO EM BRANCO, DIGITE UM VALOR!

goto Cad1

:ERRO
echo VOCE DIGITOU (%Nome%) DIGITE SOMENTE LETRAS
echo.
GOTO :Cad1

:Cad2
echo.
set /p telf= TELEFONE :

if %telf%==v CLS&goto Redireciona
if %telf%==V CLS&goto Redireciona

FOR /F "DELIMS=abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ" %%§ IN ("%telf%")DO GOTO:Gravar

IF "%telf%"=="" goto Campo2Branco
GOTO :ERRO2

:Campo2Branco

echo CAMPO EM BRANCO, DIGITE UM VALOR!

goto Cad2

:ERRO2
rem CLS
echo VOCE DIGITOU (%telf%) DIGITE SOMENTE NUMEROS
echo.
GOTO :Cad2

rem ###Fim da obtencao dos dadas.###

echo ------------------

rem ###Gravando os dados###
:Gravar
echo. %codigo% > Cont
echo. %codig% > Cont2
echo %codigo%__Nome:............[ %Nome% ] >>Registros
echo %codigo%__Telefone:........[ %telf% ] >>Registros
echo %codigo%__Data:............[ %date% ] >>Registros
echo %codigo%__Hora:............[ %time:~0,5% ] >>Registros
echo.                                      >> Registros & (
echo PC NAME( %USERNAME% ) Login:(%login%) Adicionou o Registro nº (%codigo%) data e hora:(%date% %time:~0,5%)
) >> Log_Adicionar_Registros.txt
rem ###Fim da gravacao dos dados###

echo REGISTRO ADICIONADO COM EXITO...
ping localhost -n 2.8 >nul
echo VOLTANDO AO MENU PRINCIPAL...
ping localhost -n 2.8 >nul
cls
Goto Menu

:BusCodigo
cls
echo.ÉÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃû
echo.º                                                      º                      º
echo.º                      BUSCAR CODIGO                   º     [V] VOLTAR       º
echo.º                                                      º                      º
echo.ÈÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃü
set /P "codigoPesq=- DIGITE O CODIGO PARA PESQUISAR: "
if %codigoPesq%==v CLS&goto Menu
if %codigoPesq%==V CLS&goto Menu
cls
echo.ÉÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃû
echo.º                                                      º                      º
echo.º                      RESULTADOS BUSCAR CODIGO        º     [V] VOLTAR       º
echo.º                                                      º                      º
echo.ÈÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃü
echo.
if exist Registros find  /I "%codigoPesq%__" Registros
echo.
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
 rem                      Cscript //nologo "script_.vbs" "Selecione uma pasta"
For /f "tokens=*delims= " %%i in ('CScript //NoLogo "%~f0?.wsf"')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
pause>nul

Goto :Menu
Rem :: soh pa previnir erro de fluxo entre operações dos lables :: 
exit /b 

# --><job><script language="vbscript">
Option Explicit
Dim strPath
strPath = SelectFolder( "" )
If strPath = vbNull Then
    WScript.Echo "Cancelled"
Else
    WScript.Echo strPath
End If
Function SelectFolder( myStartFolder )
    Dim objFolder, objItem, objShell
    On Error Resume Next
    SelectFolder = vbNull
    Set objShell  = CreateObject( "Shell.Application" )
    Set objFolder = objShell.BrowseForFolder( 0, "Selecione uma pasta.", &H4000, myStartFolder )
    If IsObject( objfolder ) Then SelectFolder = objFolder.Self.Path
    Set objFolder = Nothing 
    Set objshell  = Nothing
    On Error Goto 0
End Function
</script></job>


  • Have the bat and vbs running in the same file?
  • Remarks when the bat to generate the VBS:

Us special characters that will be echoed and are in quotes, you don’t need to wear mufflers, also in quotes, commas and equals sign, these characters will not need leaks, use direct echo.

Below a more "compact shape".

@echo off & >"%temp%\script_.vbs"^
    (echo/Dim objFolder, objShell & echo/ Set objShell = CreateObject^("Shell.Application"^)
     echo/ Set objFolder = objShell.BrowseForFolder^(0, "Selecione uma pasta.", ^&H4000, 0^)
     echo/ If Not ^(objFolder Is Nothing^) Then & echo/ wscript.echo objFolder.Self.path 
     echo/Else & echo/ wscript.echo 0 & echo/End If) 

Below a form "expanded".

@echo off & >"%temp%\script_.vbs"^
    (
     echo/ Dim objFolder, objShell 
     echo/ Set objShell = CreateObject^("Shell.Application"^)
     echo/ Set objFolder = objShell.BrowseForFolder^(0, "Selecione uma pasta.", ^&H4000, 0^)
     echo/ If Not ^(objFolder Is Nothing^) Then
     echo/  wscript.echo objFolder.Self.path 
     echo/ Else 
     echo/  wscript.echo 0 
     echo/ End If
    )

Browser other questions tagged

You are not signed in. Login or sign up in order to post.