Это кажется маловероятным, но я могу только предположить, что что-то изменилось недавно (на этой неделе) во время Windows Обновления.
По крайней мере два сценария, которые сейчас используются для работы, этого не делают. То есть скрипты я использую почти каждый день. Среди них мой конструктор сценариев для небольшого Java проекта.
dir /s /B /a:-d *.java >sources.txt
"%JAVA_HOME%"\bin\javac %javaopts% -d ..\classes -nowarn -classpath %clspath% @sources.txt
Стандарт, верно? За исключением того, что «dir» больше не удаляет имя каталога (согласно a: -d), как раньше. Следовательно, мой java скрипт компиляции не работает. (Почему да, я также использую Eclipse.)
Как и в случае, файлы, перечисленные в источниках, содержат полный путь к файлу ("C: \ X \ Y \ Z \ src \ foo. java "). Удаляя вручную путь, предшествующий sr c ("c: \ x \ y \ z"), тот же сценарий работает. Я пробовал разные варианты опций, меняя команду javac, но всегда получаю ошибку синтаксического анализа "unknown option c: ... :) из-за полных путей, указанных в исходном файле .
Независимо от того, почему это произошло, это происходит сейчас, и я ищу альтернативу, которую я еще не нашел. Простая альтернатива - я, вероятно, мог бы написать al oop, который удаляет что-либо до "sr *". 1022 * "(например) - но эти две команды приводятся во многих, многих местах, поэтому я подумал, что сэкономлю кому-то время и отправлю сам.