Поведение команды 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 не хватает учетных данных для навигации по точке соединения.