Konverter Windows-sti til Ubuntu Bash-sti i Batch Script - Trin-for-Trin Guide

Hvordan kan en Windows-sti som "C:\some path\file.avi" konverteres til en sti som "/mnt/c/some\ path/file.avi", som Windows Ubuntu Bash kan forstå, når den bruges i et batch script?

For at konvertere en Windows-sti til en Ubuntu Bash-sti i et batch script, skal du erstatte backslashes med forward slashes, tilføje "/mnt/" præfikset og håndtere mellemrum korrekt.

Konvertering af Windows-sti til Ubuntu Bash-sti i et Batch Script

For at konvertere en Windows-sti som "C:\some path\file.avi" til en sti, som Windows Ubuntu Bash kan forstå, som "/mnt/c/some\ path/file.avi", kan du følge disse trin i et batch script:

  1. Erstat backslashes med forward slashes: Windows-stier bruger backslashes (\), mens Unix-baserede systemer som Ubuntu Bash bruger forward slashes (/).
  2. Tilføj "/mnt/" præfikset: Ubuntu Bash på Windows mount'er Windows-drev under "/mnt/". For eksempel bliver "C:" til "/mnt/c".
  3. Håndter mellemrum: Mellemrum i stien skal enten undgås eller håndteres korrekt ved at bruge escape-tegn (\) eller ved at omslutte stien i anførselstegn.

Her er et eksempel på et batch script, der udfører denne konvertering:

@echo off
setlocal enabledelayedexpansion

rem Input Windows path
set "win_path=C:\some path\file.avi"

rem Convert drive letter to /mnt format
set "bash_path=!win_path:C:=/mnt/c!"

rem Replace backslashes with forward slashes
set "bash_path=!bash_path:\=/!"

rem Handle spaces by escaping them
set "bash_path=!bash_path: =\ !"

echo %bash_path%
endlocal

Forklaring af scriptet:

  • setlocal enabledelayedexpansion: Aktiverer forsinket ekspansion, hvilket er nødvendigt for at kunne ændre variabler inden for en loop eller en blok.
  • set "win_path=C:\some path\file.avi": Definerer den oprindelige Windows-sti.
  • set "bash_path=!win_path:C:=/mnt/c!": Erstatter drevbogstavet med "/mnt/c".
  • set "bash_path=!bash_path:\=/!": Erstatter backslashes med forward slashes.
  • set "bash_path=!bash_path: =\ !": Håndterer mellemrum ved at escape dem.
  • echo %bash_path%: Udskriver den konverterede sti.
  • endlocal: Afslutter den forsinkede ekspansion.

Dette script vil konvertere "C:\some path\file.avi" til "/mnt/c/some\ path/file.avi", som kan bruges i Windows Ubuntu Bash.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker