/ Windows 2008 Server上で/%PATH%が実際に動作していない - パス、cmd、windows-server-2008

Windows 2008 Server上の%PATH%は実際には動作しません - パス、cmd、windows-server-2008

あなたが以下に見るように、 %AppData%npm システム変数Pathに追加されます。私もUser Path変数に追加しようとしました。 grunt.cmd ディレクトリに存在しますが、絶対パスで指定した場合にのみ動作します。 AKA、経路は機能しません。

C:UsersTeamCity>echo %path%
%AppData%npm;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:Windows
System32WindowsPowerShellv1.0;c:Program Files (x86)Microsoft SQL Server10
0ToolsBinn;c:Program FilesMicrosoft SQL Server100ToolsBinn;c:Program F
ilesMicrosoft SQL Server100DTSBinn;c:Program Files (x86)Microsoft SQL Ser
ver100ToolsBinnVSShellCommon7IDE;c:Program Files (x86)Microsoft SQL Ser
ver100DTSBinn;C:Program FilesMicrosoftWeb Platform Installer;C:Program
Filesnodejs

C:UsersTeamCity>dir %appdata%npm
Volume in drive C has no label.
Volume Serial Number is B845-1135

Directory of C:UsersTeamCityAppDataRoamingnpm

05/29/2013  03:14 AM    <DIR>          .
05/29/2013  03:14 AM    <DIR>          ..
05/29/2013  03:14 AM               298 grunt
05/29/2013  03:14 AM               159 grunt.cmd
05/29/2013  03:13 AM    <DIR>          node_modules
2 File(s)            457 bytes
3 Dir(s)  23,690,498,048 bytes free

C:UsersTeamCity>grunt
"grunt" is not recognized as an internal or external command,
operable program or batch file.

C:UsersTeamCity>%appdata%npmgrunt
grunt-cli: The grunt command line interface. (v0.1.9)

実行中:

  • Windows Server 2008 R2データセンター
  • サービスパック1
  • 64ビット

回答:

回答№1は2

私はあなたがパス内の可変展開を遅らせることはできないと思っています。パス内の何がそのまま使われるのか、それは検索中に再解釈されません。

実際、あなたはそれを得るために本当に一生懸命働いたにちがいありません。 %AppData% 次のようなことをする必要があるからです:

path=^%AppData^%npm;%path%

あなたがちょうど使用する場合:

path=%AppData%npm;%path%

実際のパスが置換されていることが分かります。パスは次のようになります。

C:UsersTeamCityAppDataRoamingnpm;C:Windowssystem32; ...

回答№2の場合は0

興味深いことに、「それをもう一度やり直す」最後の努力が実際に働いた。別の方法として、追加したパス全体をコピーしてcmdを入力することもできます。

> SET PATH=

パスを貼り付けます。