Syntax error with the following batch script

-1

I'm doing a script that will make a bootable usb from some files and has several options, but it does not work for me, and because I do not know the language very well, I think I have more than one and more than two syntax problems, to see if someone can throw a cable to correct this, thank you very much for the help!

I also need the diskpart list disk command to show the list of connected devices, but I do not know how to echo a command.

Any advice / improvement is accepted!

@echo off
set isNumber=false
set validEntry=false
set 1=false
set 2=false

mkdir so
echo Script para crear usb boot
echo ------------------------------------------------------
echo Debe descomprimir el contenido de la iso del sistema operativo
echo en la carpeta 'so' que viene con el script.
echo ------------------------------------------------------
echo Por el contrario, debe montar la iso 
echo virtualmente e introducir la ruta de los archivos.
echo ------------------------------------------------------

:validate
set /p "option=Va a montar la iso o a descomprimir los archivos en la carpeta 'so'? ('1' para descomprimir / '2' para montar): "

if %option% equ 1( 
    %validEntry%=true 
    %1%=true
)

if %option% equ 2 (
    %validEntry%=true
    %2%=true
)

if %validEntry% equ true(
    diskpart list disk

    :select_disk
    set /p "disk=Introduzca el número del disco correspondiente: "

    if %disk% EQU 0 %isNumber%=true
    if %disk% GRT 0 %isNumber%=true

    if %isNumber% equ true (
        diskpart select disk %disk%
        diskpart clean
        diskpart create partition primary
        diskpart active
        diskpart format fs=fat32
        diskpart assign
    )else(
        echo El valor introducido no es correcto, vuelva a intentarlo.
        goto select_disk
    )

    if %1% equ true(
        set /p path=Introduzca la ruta del disco que desea convertir en bootable (Por ejemplo E:\):
        xcopy /s/e/f so\*.* %path%
    )

    if %2% equ true(
        set /p path_iso=Introduzca la ruta del archivo iso montado (Por ejemplo E:\):
        set /p path_disk=Introduzca la ruta del disco que desea convertir en bootable (Por ejemplo F:\):
        xcopy /s/e/f %path_iso%\*.* %path_disk%
    )

)

if %validEntry% equ false(
    echo El valor introducido es incorrecto, vuelva a intentarlo.
    goto validate
)
    
asked by THR4SH3RP0L0 15.11.2017 в 10:28
source

1 answer

0

Here you have but I have not been able to verify any other error since I do not have the ".iso" that the code requires, I hope to help you.

@echo off
set isNumber=false
set validEntry=false
set 1=false
set 2=false

mkdir "%~d0%~p0SO"
Echo.
echo Script para crear usb boot
echo ------------------------------------------------------
echo Debe descomprimir el contenido de la iso del sistema operativo
echo en la carpeta 'so' que viene con el script.
echo ------------------------------------------------------
echo Por el contrario, debe montar la iso 
echo virtualmente e introducir la ruta de los archivos.
echo ------------------------------------------------------

:validate
Echo.
Echo ¨Va a montar la iso o descompirimir los archivos en la carpeta "SO"?
Echo.
Echo [1] DESCOMPRIMIR.
Echo .
Echo [2] MONTAR.

choice /c 12 /n
if %errorlevel%==1 (
set "validentry=true"
set "1=true"
)

if %errorlevel%==2 (
set "validentry=true"
set "2=true"
)


if /i %validEntry% == true (
diskpart list disk
)

:select_disk
set /p "disk=Introduzca el número del disco correspondiente: "

if %disk% geq 0 set "isNumber=true"

if /i %isNumber% == true (
diskpart select disk %disk%
diskpart clean
diskpart create partition primary
diskpart active
diskpart format fs=fat32
diskpart assign
)else(
echo El valor introducido no es correcto, vuelva a intentarlo.
goto select_disk
)
:b_1
if /i %1% == true(
set /p path=Introduzca la ruta del disco que desea convertir en bootable (Por ejemplo E:\):
if not exist "%path%" (goto b_1)
xcopy /s/e/f so\*.* %path%
)

:b_2
if /i %2% == true(
set /p path_iso=Introduzca la ruta del archivo iso montado (Por ejemplo E:\):
if not exist "%path_iso%" (goto b_2)
set /p path_disk=Introduzca la ruta del disco que desea convertir en bootable (Por ejemplo F:\):
if not exist "%path_disk%" (goto b_2)
xcopy /s/e/f %path_iso%\*.* %path_disk%
)

)

if /i %validEntry% == false(
echo El valor introducido es incorrecto, vuelva a intentarlo.
goto validate
)
    
answered by 26.01.2018 в 19:51