Tôi đã viết một tập tin bat để làm điều này. Chỉ cần đặt tệp bất cứ nơi nào bạn đang làm việc hoặc thêm nó vào đường dẫn của bạn (hoặc chỉ cần đặt nó lên trên mã của bạn, sẽ dễ dàng làm việc hơn). Hãy nhớ gán "biến" cho đường dẫn tệp của bạn trước (nếu bạn đang sử dụng một tệp riêng, hãy thử sử dụng tham số).
Những gì mã làm:
1) Lấy chữ cái đầu tiên của đường dẫn, đó là ổ đĩa.
2) Xóa hai chữ cái đầu tiên.
3) Thay đổi dấu gạch chéo.
4) Đây là phần khó khăn: vì Linux phân biệt chữ hoa chữ thường, chúng ta cần chuyển đổi ký tự viết hoa thành chữ thường. Làm điều này bằng cách khớp từng cái (cho tôi biết nếu có cách nào tốt hơn). Bạn cũng có thể xóa các ký tự ổ đĩa không cần thiết vì có thể bạn không có quá mười ổ đĩa.
5) Kết hợp mọi thứ để đưa ra chuỗi cuối cùng.
Kết quả:
Đầu vào:
E:\myfiles\app1\data\file.csv
Đầu ra (có dấu ngoặc kép):
"/mnt/e/myfiles/app1/data/file.csv"
Mã như sau:
@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:
bằng/mnt/c
(cũng có khả năng cho các ký tự ổ đĩa khác), phải không?