2011-05-31 9 views
10

¿Cuál es la forma más fácil de convertir todas las barras invertidas para reenviar en una ruta en un archivo por lotes, ya que necesito usar bash para su ejecución.convertir barras inversas para reenviar en archivos por lotes

+0

... ¿Cuál es? ¿Por lotes o Bash? Batch es para Windows, Bash es para Linux (y Mac?). – RobinJ

+0

Estoy ejecutando un lote (Windows), necesito crear un archivo make usando Bash (en Windows, tengo bash configurado en la máquina) – remo

+0

Ah, algo parecido a Win-Bash, supongo? Entonces ... Desea leer un archivo (utilizando el lote de MS-DOS) y reemplazar todas las ocurrencias de \ a /. ¿Es eso correcto? – RobinJ

Respuesta

21
SET "string=D:\path\to\folder" 
ECHO %string:\=/% 

Básicamente, es necesario en primer lugar para almacenar el valor de cadena en una variable de entorno, a continuación, utilizar la siguiente plantilla:

%variable:str1=str2% 

para reemplazar todas las apariciones de str1 en variable con str2.

Siempre puede recordar este patrón invocando SET /? desde el símbolo del sistema.

2
echo 'C:\Program Files\Program' | sed -e 's/\\/\//g' 
+0

Me aparece un error "sed: -e expresión # 1, char 8: comando 's' sin terminación" – remo

+0

"echo 'C: \ Program Files \ Program' | sed -es/\ \/\ // g "funciona bien – remo

+1

Alternativamente, para evitar la valla:' echo 'C: \ Program Files \ Program' | sed-e 's _ \\ _/_ g'' – vmrob

Cuestiones relacionadas