Saya menulis file kelelawar untuk melakukan ini. Cukup tempatkan file di mana pun Anda bekerja atau tambahkan ke jalur Anda (atau cukup letakkan di atas kode Anda, yang akan lebih mudah untuk dikerjakan). Ingat untuk menetapkan "variabel" ke jalur file Anda terlebih dahulu (jika Anda menggunakan file terpisah, coba gunakan parameter).
Apa yang dilakukan kode:
1) Dapatkan huruf pertama dari path, yang merupakan drive.
2) Hapus dua huruf pertama.
3) Ubah garis miring.
4) Ini bagian yang sulit: karena Linux peka terhadap huruf besar-kecil, kita perlu mengubah huruf drive huruf besar menjadi huruf kecil. Lakukan ini dengan mencocokkan masing-masing (beri tahu saya jika ada cara yang lebih baik). Anda juga dapat menghapus huruf drive yang tidak perlu, karena Anda mungkin tidak memiliki lebih dari sepuluh drive.
5) Gabungkan semuanya untuk memberikan string terakhir.
Hasil:
Memasukkan:
E:\myfiles\app1\data\file.csv
Output (dengan tanda kutip):
"/mnt/e/myfiles/app1/data/file.csv"
Kode tersebut adalah sebagai berikut:
@echo OFF
set "variable=E:\myfiles\app1\data\file.csv"
set "drive=%variable:~0,1%"
set variable=%variable:~2%
set "variable=%variable:\=/%"
if %drive%==A set "drive=a"
if %drive%==B set "drive=b"
if %drive%==C set "drive=c"
if %drive%==D set "drive=d"
if %drive%==E set "drive=e"
if %drive%==F set "drive=f"
if %drive%==G set "drive=g"
if %drive%==H set "drive=h"
if %drive%==I set "drive=i"
if %drive%==J set "drive=j"
if %drive%==K set "drive=k"
if %drive%==L set "drive=l"
if %drive%==M set "drive=m"
if %drive%==N set "drive=n"
if %drive%==O set "drive=o"
if %drive%==P set "drive=p"
if %drive%==Q set "drive=q"
if %drive%==R set "drive=r"
if %drive%==S set "drive=s"
if %drive%==T set "drive=t"
if %drive%==U set "drive=u"
if %drive%==V set "drive=v"
if %drive%==W set "drive=w"
if %drive%==X set "drive=x"
if %drive%==Y set "drive=y"
if %drive%==Z set "drive=z"
set "variable=/mnt/%drive%%variable%"
echo "%variable%"
@echo ON
C:
dengan/mnt/c
(berpotensi untuk huruf drive lain juga), kan?