2009-11-04 9 views
5

Jestem zaskoczony. Nagle Visual Studio nie może znaleźć plików exe w katalogu Windows/System32 (takich jak xcopy, attrib itp.).Skrypty do wstępnej kompilacji Visual Studio nie mogą znaleźć plików exe w systemie windows/system32

Mam pewne wstępne kompilacje i post-build, które wykonują pliki wsadowe, które używają xcopy i attrib. Wcześniej działały dobrze, ale dzisiaj, podczas procesu budowania, Visual Studio nie może ich znaleźć. Błąd jest wyświetlany: 'xcopy' nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.

Kiedy po raz pierwszy zauważyłem problem, próbowałem uruchomić xcopy w zwykłym wierszu poleceń cmd i wystąpił ten sam problem. Po ponownym uruchomieniu komputera problem zniknął w zwykłym wierszu poleceń cmd, ale pozostał w programie Visual Studio. Po ponownym uruchomieniu problem nie występuje również w zachęcie cmd programu Visual Studio - tylko z samego programu Visual Studio.

Wszystko wygląda normalnie, gdy w jednym z plików wsadowych wykonam ustawić aby sprawdzić zmienną PATH lub echo% systemroot%.

W menu Narzędzia-> Opcje znajdują się ustawienia dla katalogów VisualC++. Jednak używam C#, a nie C++, a poza tym nigdy nie zmieniłem tych ustawień i wydaje się, że są poprawne.

Ktoś miał wcześniej ten problem? Myśli?

+0

Ten problem został rozwiązany dziś rano po kolejnym ponownym uruchomieniu komputera. Obwiniam to na Windows Update lub coś dziwnego wykonanego przez nieuczciwego administratora sys. – cbp

Odpowiedz

1

To może być tylko jedna z dwóch rzeczy: problem z PATH widziany z pliku wsadowego lub literówka w uruchomionym poleceniu (np. XCOPY).

% systemroot% nie ma większego znaczenia, ponieważ XCOPY i tak dalej znajdują się w katalogu SYSTEM (na WinXP C: \ Windows \ System32), a% systemroot% jest katalogiem Windows (o jeden poziom wyżej - ponownie, na XP C: \ Windows).

+1

Tak właśnie bym pomyślał, ale plik wsadowy wykonuje się poprawnie, gdy uruchamiam go ręcznie za pomocą wiersza poleceń (nawet polecenia wiersza poleceń VS). – cbp

+0

Jest jeszcze jeden przypadek: w Windows 8 mój VS 2012 nie mógł uruchomić aplikacji w System32, chociaż został uruchomiony jako administrator. Musiałem przenieść program z System32. – nima

4

Napotkano ten sam problem wcześniej podczas próby kompilacji z Visual Studio.

Wypróbowane działa XCOPY ręcznie i było niepowodzeniem z komunikatem „xcopy” nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne, program wykonywalny lub plik wsadowy”

więc próbowałem ręcznie nawigacyjnego do katalogu C: \ WINDOWS \ SYSTEM32 i uruchomiono XCOPY. Zadziałało!

rozwiązanie:

  1. Przejdź do Panel sterowania -> System -> Zaawansowane ustawienia systemu -> Zmienne środowiskowe

  2. gdy system Windows jest zainstalowany po raz pierwszy, że zmienna jest: % SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem

    Umieść je na początku PATH Zmienna i kliknij dwa razy OK.

Będziesz musiał ponownie uruchomić uruchomione aplikacje, aby zastosować do nich nową ścieżkę, a nie system.

+0

TO ZBAWIŁ MOJE ŻYCIE! Visual Studio potrzebował tych trzech zmiennych z przodu, aby znaleźć rzeczy .... DZIĘKUJĘ za doppleoldoldnera! – Mizmor

+0

W moim przypadku problem wystąpił po zainstalowaniu nowej wersji Java. Ta instalacja postawiła ścieżkę na początku zmiennej 'PATH', powodując wymienione problemy. – comecme