web-dev-qa-db-ja.com

UNIXコマンドの$に相当するWindows

ドキュメントに従って、Windows10コマンドプロンプトでいくつかのコマンドを実行しています。

setxはWindowsのエクスポートに相当し、3番目のコマンドを実行しようとすると$OPENAI_LOGDIRが正しく検出されないため、最初の2つのコマンドをsetxを使用して実行しました。誰かがWindowsでこれに相当するものを手伝ってくれる?

コマンド

export OPENAI_LOG_FORMAT='stdout,log,csv,tensorboard'
export OPENAI_LOGDIR=path/to/tensorboard/data

tensorboard --logdir=$OPENAI_LOGDIR
2
cvg

シェルによって異なります。 $記号は名前を開始し、それがほとんどのUnixシェルの変数であることを示します。 Windows cmdで同じことを行うには、%OPENAI_LOGDIR%を使用します。 Windows PowerShellでは、bashと同じ構文、つまり$OPENAI_LOGDIRを使用します。ただし、PowerShellの環境変数の場合は、env:プレフィックスを使用してアクセスする必要があります:$env:OPENAI_LOGDIR

2
phuclv
SET OPENAI_LOG_FORMAT=stdout,log,csv,tensorboard
SET OPENAI_LOGDIR=C:\path\to\tensorboard\data
tensorboard --logdir=%OPENAI_LOGDIR%

Unixコマンドのアポストロフィは、含まれているテキストを文字通りに処理することを単に示し、Unixシェルが特殊文字を解釈しようとする量を減らします。 CMD.EXE(COMMAND.COMから派生)は、特定の文字に対してサポートする特別な意味が少ないため、このようなアポストロフィは必要ないことがよくあります。

Unixでは、$で始まるものは変数を示します。 CMDの場合、開始時にパーセント記号を使用して変数を指定できます。場合によっては、変数名の両側にパーセント記号を配置すると、より明確になります。

Unixはスラッシュを使用してさまざまなディレクトリを指定しますが、CMDから実行するほとんどのプログラムは通常、バックスラッシュを使用してディレクトリを区切ります。

SETXを使用したい場合は、等号を破棄し(代わりにスペースを使用)、引用符を使用することをお勧めします。

SETX OPENAI_LOG_FORMAT "stdout,log,csv,tensorboard"
SETX OPENAI_LOGDIR "C:\path\to\tensorboard\data"
tensorboard --logdir=%OPENAI_LOGDIR%
0
TOOGAM