tengo la siguiente cadena dentro de mi archivo por lotes de Windows:Retire primero y el último carácter de una cadena en un archivo por lotes de Windows
"-String"
La cadena también contiene las comillas twoe al principio y al final de la cuerda, tal como está escrito arriba.
que se quieren eliminar los caracteres primero y último de manera que llegue la siguiente cadena:
-String
He intentado esto:
set currentParameter="-String"
echo %currentParameter:~1,-1%
Esto imprime la cadena de como debe ser:
-String
Pero cuando intento para almacenar la cadena editada como esta, se produce un error:
set currentParameter="-String"
set currentParameter=%currentParameter:~1,-1%
echo %currentParameter%
No se imprime nada. ¿Qué hago mal?
Esto realmente es extraño. Cuando quito los personajes como esto funciona:
set currentParameter="-String"
set currentParameter=%currentParameter:~1,-1%
echo %currentParameter%
imprime:
-String
Pero en realidad mi lote es un poco más complicado y hay no funciona. Voy a mostrar lo programé:
@echo off
set string="-String","-String2"
Set count=0
For %%j in (%string%) Do Set /A count+=1
FOR /L %%H IN (1,1,%COUNT%) DO (
echo .
call :myFunc %%H
)
exit /b
:myFunc
FOR /F "tokens=%1 delims=," %%I IN ("%string%") Do (
echo String WITHOUT stripping characters: %%I
set currentParameter=%%I
set currentParameter=%currentParameter:~1,-1%
echo String WITH stripping characters: %currentParameter%
echo .
)
exit /b
:end
y la salida es:
.
String WITHOUT stripping characters: "-String"
String WITH stripping characters:
.
.
String WITHOUT stripping characters: "-String2"
String WITH stripping characters: ~1,-1
.
Pero lo que yo quiero es:
.
String WITHOUT stripping characters: "-String"
String WITH stripping characters: -String
.
.
String WITHOUT stripping characters: "-String2"
String WITH stripping characters: -String2
.
Sus obras de la muestra (como se esperaba), tiene que haber otro error . Tal vez has intentado esto dentro de un bloque? – jeb
Aparece el siguiente mensaje: 'ECHO ist ausgeschaltet (OFF). ~ 1, -1' – Metalhead89
Quizás sea porque está en una función? ': myFunc para "tokens =% 1 delims ="/ F %% I EN ("% processChain1%") Do ( \t conjunto currentParameter = %% I \t conjunto currentParameter =% currentParameter: 1 ~ , -1% \t echo% currentParameter% \t rem java -jar app.jar %% I ) salida/b' – Metalhead89