Tengo un archivo de texto con los siguientes valores
datasource=c:\temp\datasource
Lo que luego intento leer de un archivo por lotes y llenar un bucle for.
for /f "tokens=1,2 delims==" %%b in (config.txt) do (
if %%b==datasource set datasource=%%c
)
for %%a in (%datasource%\*.*) do if "%%~xa" == "" "C:\Program Files\7-Zip\7za.exe" a -tzip -mx9 "%%a.zip" "%%a"
El error que obtengo es
System error:
Incorrect function.
Press any key to continue . . .
Ahora si lo reemplazo %datasource%\*.*
con c:\temp\datasource\*.*
eso funciona bien.
¿Qué estoy haciendo mal?
EDITAR0
Los resultados de eliminar @echo off
REM @echo off
setlocal enabledelayedexpansion
for /F "tokens=1,2 delims==" %b in (config.txt) do (
if %b == datasource set datasource =%c
)
D:\sftp\winscp438>(
if datasource == datasource set datasource=c:\temp\datasource
)
for %a in (c:\temp\datasource\*.*) do if "%~xa
" == "" "C:\Program Files\7-Zip\7za.exe" a -tzip -mx9 "%a.zip" "%a"
if "" == "" "C:\Program Files\7-Zip\7za.exe" a -tzip -mx9 "c:\temp\datasource\sample.zip" "c:\temp\datasource"
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Error: c:\temp\datasource\sample.zip is not supported archive
System error:
Incorrect function.
@echo off
en tu archivo por lotes? Sáquelo (coméntelo) y vea (y cuéntenos) lo que le dice.
set datasource=c:\temp\datasource
?