「xcopy」コマンドの使用に問題があります。
Msbuildを使用してC#プロジェクトを構築しています。ビルドの最後に、デバッグ/リリースから他のフォルダーにアセンブリをコピーするためにバッチファイルが呼び出されます。
ここに問題があります。私のビルドは失敗し、エラーログは「xcopyは内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません」です。
パスは正しく設定されています。xcopyは、WindowsコマンドラインおよびVisual Studioコマンドライン(プロジェクト環境で設定されたもの)から機能します。
バッチファイルにパスを設定しようとしましたが、役に立ちません。
なにか提案を?
Windows 7を使用しています
乾杯:)
同じ問題が発生しました。
Visual Studio内のパス環境変数に問題があるようです。
ビルドイベントの先頭に「パス」ステートメントを追加すると、次の出力が生成されました。
PATH=
これは、VSビルド環境内でパスが空であることを示しているようです。
このようにxcopyへのフルパスを指定すると、問題はなくなりました。
%systemroot%\System32\xcopy ...
Visual Studioがそのパスを失った原因はわかりません。
環境変数の設定PATH = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
Visual Studioの拡張機能の1つを更新した後、アップデーターによってVisual Studioが閉じられ、再び開かれました。プロジェクトを適切にビルドできなくなりました。 Visual Studioを閉じてから再度開くと、問題はなくなりました。
これはWindows 7または8の問題ではありません。実際には、PATHなどの環境変数を更新するアプリケーションの問題です。 PATHは「展開可能な文字列値」(REG_EXPAND_SZ)としてレジストリに保存されますが、多くのアプリケーションは「文字列値」(REG_SZ)としてレジストリに書き戻します。パスに%SYSTEMROOT%などが含まれている場合、パスがREG_SZに保存されている場合、これはC:\ Windows(または任意のパス)に展開されません。
修正は、コントロールパネルからパスを手動で編集するだけです。変更する必要があり(たとえば、パスの末尾に;を追加)、それを適用する必要があります。これにより、レジストリ内のパスがREG_EXPAND_SZに修正されます。 ([システムコントロールパネル]に移動し、[システムの詳細設定]を選択します。下のボックスで[パス環境]変数を編集すると、修正されます。
この方法でパスが壊れているかどうかを確認するには、コマンドプロンプトを開き、PATHと入力します。パスがリストされます。 %%で囲まれたものが表示される場合、パスは展開されていません。
Accessフロントエンドアプリをユーザーのローカルマシンにコピーするために使用するバッチファイルで初めてこれを経験しました。その環境は、Windows 7と8、および32〜64ビットのマシンが混在しています。 xcopy.exeがSystem32フォルダーとSysWOW64フォルダーの両方にあることに気付き、競合が発生したのではないかと考えました。そのため、xcopy.exeをバッチファイルが存在するフォルダーにコピーしましたが、現在は動作しているようです。これを共有すると思いました。
アイリーン
また、xcopy(同じエラーメッセージ)で問題が発生しました。これは、リムーバブルドライブにファイルをバックアップするために使用する非常に単純なバッチプログラムです。少なくとも5年間、このプログラムを問題なく使用しています。その後、昨日xcopyはWin7に認識されません。各インスタンスでxcopyを%systemroot%\ System32\xcopyに置き換えることで問題が解決しました。非常に奇妙な。
[修正済み]「Path」環境変数に正しいパスを追加した後、まだ動作しません(cmdおよびVisualStudioの場合)(PCを再起動した後でも)。
問題はレジスタパラメータの破損にありました:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] ParameterName = [〜#〜] pathext [〜#〜]
値は.wlua;。| exeでした。何かをインストールした後に壊れたのかもしれません。変更すると、すべてが再び機能します:。COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC
他に何も機能しない場合、これが役立つことを願っています。