在我的安装程序脚本中,我想使用 DEL 命令从本地 PC 上的已知位置删除已知文件。该命令应从某个文件夹及其下的所有子文件夹中清除文件。因此我使用:
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 命令缺少导航连接点的凭据。