Поведение команды Windows DEL относительно точек соединения

В моем сценарии установки я хочу удалить известные файлы из известных мест на локальном ПК с помощью команды DEL. Команда должна удалить файл из определенной папки и всех подпапок ниже нее. Поэтому я использую:

      cd /d "C:\MyFolder"
del /f /s /q MyFile.xyz

Однако, если соединение отображается где-то ниже «C:\MyFolder» (скажем, в «C:\MyFolder\Junction», указывая на другую папку на том же диске), DEL, похоже, вообще не переходит в него. Таким образом, все файлы «MyFile.xyz» не будут удалены. Если DEL также не может найти файл где-либо еще в корневой папке, он также с радостью сообщит «Не удалось найти C:\MyFolder\MyFile.xyz».

Кажется, нет никаких переключателей, которые управляют этим поведением, и расширения команд не помогают - это известное ограничение DEL?

Существуют ли какие-либо обходные пути с использованием команд или стандартных приложений, установленных по умолчанию на новых современных компьютерах с Windows, или мне следует написать для этого свой собственный DEL-подобный исполняемый файл/выполнить то же действие, используя сценарий в моем установщике?

1 ответ

Если точка соединения размещена в сети, проблема, скорее всего, заключается в том, что сценарий установки необходимо запустить от имени администратора.

Запуск его от имени администратора заставляет его использовать локальные учетные данные, и большинство точек соединения обычно указывают на общий сетевой ресурс, поэтому команде DEL не хватает учетных данных для навигации по точке соединения.

Другие вопросы по тегам