Вопрос, вероятно, лучше всего объяснить сценарием, в котором я понял, что две программы работают по-разному.
У меня была старая резервная копия из моих дней Linux на моем жестком диске, содержащая файл с именем con. Как указано в MSDN, con - это зарезервированное имя устройства, которое нельзя использовать для файлов:
Не используйте следующие зарезервированные имена устройств для имени файла:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9
Таким образом, у меня были проблемы с удалением файла, но с правильным именем, которое я нашел в этой команде из ответа суперпользователя, я смог удалить его:
del "\\.\F:\Movies\Con Man\Con.Man.2018.720p.WEBRip.x264-[YTS.AM].mp4"
Сначала я попытался удалить файл с помощью данной команды через PowerShell. Это выдало ошибку, говоря, что каталог или диск не существует. Только C:\WINDOWS\System32\cmd.exe смог удалить файл. Я запустил обе оболочки с правами администратора.
Поэтому с этого момента я просто хотел знать: почему они ведут себя по-разному? Существует ли какой-то отдельный уровень разрешений для PowerShell или он работает в какой-то специальной песочнице?