我想创建一个“迷你虚拟环境”来运行程序。我的正常环境和虚拟环境之间的唯一区别是驱动器映射。
- 我有一个
X:
驱动器映射到\\some\network\location
- 我有一个程序
myapp.exe
需要将X:
驱动器映射到C:\local\path
- 我需要在整个过程中保持
X:
驱动器映射\\some\network\location
我希望能够运行以下批处理文件并且不让它影响当前环境:
subst X: C:\local\path
myapp.exe
答案1
如果应用程序检查的路径尚不存在,您可以临时创建一个符号链接。应用程序将在它期望的目录中找到所需的文件,而文件系统几乎透明地将操作重定向到实际路径。请谨慎使用;例如,如果C:\local\path\
已经存在,则可能会发生(非)预期的坏事。
默认情况下,Windows 仅授予管理员组中的用户创建符号链接的权限。因此,必须使用提升权限运行以下脚本,或者(Windows 7)必须通过安全策略(secpol.msc
或控制面板、管理工具、本地安全策略)中的本地策略、用户权限分配部分设置权限。
mklink /D C:\local\path X:\
myapp.exe
rmdir C:\local\path