これを行うために、batファイルを作成しました。作業している場所にファイルを配置するか、パスに追加するだけです(または、コードの上に配置するだけで作業しやすくなります)。最初にファイルパスに「変数」を割り当てることを忘れないでください(別のファイルを使用している場合は、パラメーターを使用してみてください)。
コードの機能:
1)ドライブの最初の文字を取得します。
2)最初の2文字を削除します。
3)スラッシュを変更します。
4)これは難しい部分です。Linuxでは大文字と小文字が区別されるため、大文字のドライブ文字を小文字に変換する必要があります。それぞれを一致させてこれを行います(より良い方法があれば教えてください)。おそらく10台以下のドライブがあるため、不要なドライブ文字も削除できます。
5)すべてを組み合わせて、最終的なストリングを作成します。
結果:
入力:
E:\myfiles\app1\data\file.csv
出力(引用符付き):
"/mnt/e/myfiles/app1/data/file.csv"
コードは次のとおりです。
@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:
を/mnt/c
(潜在的に他のドライブ文字にも)置き換えることですよね?