1 votos

¿Cómo puedo obtener una ruta WSL Linux desde cmd.exe?

A menudo necesito saber los nombres de ruta montados en WSL desde Windows. Ahora he visto muchas soluciones de croquis al problema, así que pensé que debería compartir MI CAMINO.

Los casos de uso para esto podrían ser ejecutar una herramienta de Linux contra algo que se ejecuta desde cmd.exe o gdb y que está depurando algo desde un entorno de desarrollo de Windows.

Como en: "C: \ Windows \ System32" = "/ mnt / c / Windows / System32"

0voto

Señor CMasMas Puntos 171

He aquí un truco que se me ocurrió.. La siguiente línea se tire de la CWD aka %CD% y ponerlo en una variable llamada LNX_PATH

    for /f %p in ('bash.exe -c "pwd"') do set LNX_PATH=%p

Aquí está una simplificado archivo de proceso por lotes de ejemplo que se utilizan vi para abrir un archivo de texto llamado 'test.txt" de su Windows directorio de Documentos.

@echo off

:: This is the path to the file I want to launch using vi...
Set WIN_DOC_PATH=%UserProfile%\Documents

:: Switch to that path, get the CWD (linux style) and switch back
pushd "%WIN_DOC_PATH%"
    for /f %%n in ('bash.exe -c "pwd"') do set LNX_DOC_PATH=%%n
popd

:: Launch vi (via bash) using the correct path format
bash.exe -c "vi %LNX_DOC_PATH%/test.txt"

Cuando este lote sale, usted estará de regreso en cmd.exe a la derecha de donde empezó.

Si alguien tiene una mejor (no de boceto) manera de conseguir este camino, me encantaría saber de ti!

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: