WineツールはファイルパスをLinux形式からWindows形式に変換します。

WineツールはファイルパスをLinux形式からWindows形式に変換します。

私は私が見つけたLinux diffツールよりも優れたWindows diffツールを持っています(そして私はそれでいくつかの素晴らしい仕事をしました)。視覚差異ツールの広範な分析)。私はこのツールをLinux(Wine経由)で使用し、Linuxファイルパスを渡すことを望んでいます。これは、Double Commanderなどのデュアルウィンドウファイルマネージャがdiffツールを呼び出すときにファイルパス全体を自動的に渡すためです。

だから反対に尋ねます。この問題:Linuxスタイルのファイルパス(エスケープ文字(スペースなど)をWindowsスタイルのファイルパス(Wine経由で実行されているWindowsツールで許可されています)に変換するには?

簡単な例を挙げると、

入力する:

/パス/to/file1.ext /パス/to/file2.ext

出力

“\path\to\file1.ext” “\path\to\file2.ext”

bashもちろん、現実の世界ではファイルにスペースなどがある可能性があるため、これまでの選択肢よりも信頼性の高いソリューションを探しています。

#!/bin/bash
p1=$1
p2=$2
wine /utils/wincmp.exe ${p1//\//\\} ${p2//\//\\}

ベストアンサー1

あなたのスクリプトは実際に非常に近いです。winepath変換のためにWINEの一部として提供されるツールだけが必要です。

#!/bin/sh
exec wine /utils/wincmp.exe "`winepath --windows \"$1\"`" "`winepath --windows \"$2\"`"

または使用ローランベルコexecline:

/コマンド/execlineb -S2
バックティック -i 左 { winepath --windows $1 }
バックティック -i 右 { winepath --windows $2 }
複数の代替{
    重要なこと
    重要なのは正しいことです
}
ワイン
/utils/wincmp.exe ${左} ${右}

おすすめ記事