2

最近cmd.exe/uフラグで開始すると、Unicode 形式でファイルに出力されることを読みましたが、このようなバッチ ファイルを開始するにはどうすればよいですか? 明確にするために、既に実行中のバッチ ファイルから他のバッチ ファイルを開始するという意味ではありません。つまり、バッチ ファイルをクリックすると、 /u?で自動的に実行されます。/u でバッチ ファイルを開始する目的はファイルを Unicode で出力することなので、コードでこれを行うか、常にフラグを付けてバッチ ファイルを開始する方法を探していますが、これは不可能です。/u がコードでオンになっているかどうかを検出できる場合、別の解決策になる可能性がありますstart /u this.bat

4

2 に答える 2

3

どうですか

start "UNICODE" cmd /u

その行をバッチファイルに入れ、リンク (またはそのバッチ自体) をデスクトップに追加します。その後、ダブルクリックで開始できます。

編集:私の犬と長い散歩をした後、これは役に立たないと思いますが、多分これは役に立ちます:

if "%1" == "/unicode" goto begin
start "Unicode-Window" cmd /u /k "%~dpf0 /unicode %1 %2 %3 %4 %5 %6 %7 %8 %9"
exit 
:begin
shift

rem start of my batchfilever
echo %1 %2 %3 %4 %5 %6 %7 %8 %9

アイデアは次のとおりです。このウィンドウが /u で開始されたかどうかはわかりませんが、気にしません。/uで開始された新しいウィンドウでまったく同じファイル(%〜dpf0)を開始し、現在のウィンドウを閉じます。もちろん、これは enless ループを意味しますが、これは追加のパラメーター /unicode で回避します。2 回目の実行では、そのパラメーター (最初のパラメーターである必要があります) が検出され、削除されます (シフト)。この「ヘッダー」を (レム行まで) バッチに追加するだけです。

于 2013-03-24T07:37:26.840 に答える
1

すべてのバッチファイルの実行方法を変更する場合は、Windowsレジストリを変更する必要があります。

値を次のキーHKEY_CLASSES_ROOT\batfile \ shell \ open \ command(デフォルト)に変更します。

"%1" %*

"cmd /U /C %1" %*
于 2013-03-24T02:23:55.953 に答える