![使用案例](https://linux22.com/image/1507524/%E4%BD%BF%E7%94%A8%E6%A1%88%E4%BE%8B.png)
Win10,虽然我希望它从 7up 开始也同样适用。
如果我回显,%USERPROFILE%
它会返回驱动器号C:\
~ 这是正确的。
但是,我的文档、图片、音乐等文件夹都在H:
驱动器上。不知何故,Win10“知道”这一点,因为它会重定向到驱动器之外C:
。
过去,我会用来%USERPROFILE%
引用文件夹树中的文件(例如在快捷方式中),但现在我有了分割驱动器系统,我不知道如何引用重定向。
有任何想法吗?
答案1
打开 PowerShell 窗口并运行:
[Enum]::GetNames([Environment+SpecialFolder]) | ? {$_ -like "My*" } | % { $_ + ": " + [Environment]::GetFolderPath($_)}
如果它返回类似这样的内容:
MyDocuments: H:\...
MyMusic: H:\...
MyVideos: H:\...
MyComputer:
MyPictures: H:\...
然后有人更改了这些文件夹的位置,您可以通过在文件资源管理器中打开这些文件夹的属性并单击选项卡将它们改回来Location
。
MyDocuments
要在快捷方式中使用正确的位置,您可以使用:
explorer.exe shell:::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}\folder1\folder2
这将在文件资源管理器中打开 H:\documents\folder1\folder2。
所有特殊文件夹都有唯一的 GUID,下面是一份好的列表十个论坛
我认为您不能直接在中使用这些 GUID cmd.exe
,但在 PowerShell 中您可以执行以下操作:
cd $([Environment]::GetFolderPath('MyMusic'))
答案2
我通过使用SETX
创建两个新的环境变量解决了我的问题:myUSERPROFILE
和myHOMEDRIVE
。它们用于指向 OneDrive、Dropbox、GoogleDrive 等基于云的数据的快捷方式。
使用案例
目的是将快捷方式从本地机器抽象到我工作的所有机器的通用性。
具体来说,我有一台 SurfacePro 4、一台台式机、一台笔记本电脑(通过其放大器专用于媒体中心),然后客户不时给我的笔记本电脑让我工作。
每台笔记本电脑都有不同的用户名和回家的路由客户端网络批次决定。
在我的桌面上,我有 4 个指向云文件夹的快捷方式 ~传入图像;阅读;快速参考;收到的文件. 快捷方式的形式为
"%myUSERPROFILE%\Documents\Dropbox (Work)\Incoming docs"
无论我点击哪个快捷方式,无论我在哪台电脑上,都会打开基于云的文件夹。
将文件拖放到快捷方式文件夹上会将其发送到正确的位置。
一些文件夹本身有指向我的数据存储库中的文件或文件夹的快捷方式。
例如,“快速参考”文件夹有指向从时间表和时间表到技术数据到客户端协议的所有内容的快捷方式。
所有这些都永久保存在各自的数据存储库中 - 仅在我的技术库中就有 3500 多个 pdf 文件。(我还使用 calibre 来生成元数据)。
过程
创建变量
当我得到一台新机器来工作时,该批处理文件以管理员模式运行:
:: setEnvVariables.bat
:: Step 1, set variables
echo Enter the home drive, default is %HOMEDRIVE%
SET /P localHOMEDRIVE=%HOMEDRIVE%
echo Enter the User prefix, default is %USERPROFILE%
SET /P localUSERPROFILE=%USERPROFILE%
SETX myHOMEDRIVE localHOMEDRIVE
SETX myUSERPROFILE localUSERPROFILE
echo: Step 2. check that they work
echo: =====: flip drives, land on home data drive
C:
echo: =====: directory of folders in root C:\ drive
DIR /b /ad
PAUSE
%myHOMEDRIVE%
cd\
echo: =====: directory of folders in root data drive
DIR /b /ad
PAUSE
cd %myUSERPROFILE%\Documents
echo: =====: directory of folders in Documents folder
DIR /b /ad
PAUSE
echo: ====: directory of folders in Dropbox folder
cd %myUSERPROFILE%\Documents\Dropbox (Personal)
DIR /b /ad
PAUSE
:: ...etc all the other cloud based repositories.
阅读文件夹中的典型快捷方式是
"%OneDrive%\My Digital Editions\~ Knowledge\Consultancy\Business\Big Data_CDI_MDM\Path-to-Predictive-Analytics-and-Machine-Learning.pdf"
或者我可能只是将文件放入上述文件夹中,如果我认为它值得保留,则将其归档到适当的存储库(文件夹路径)中。
当我交还客户机时,我会删除两个环境变量……当然!
创建快捷方式文件夹
我在云中保留了一个文件夹,其中包含上述批处理文件,并掌握了这些文件夹快捷方式的快捷方式。
这些只需拖到桌面并放置在那里即可。
由于这些只是快捷方式,我将它们视为“虚拟文件夹”或“虚拟桌面”。桌面上不再有任何数据。如果我需要一个特殊文件夹(例如用于客户端项目),我只需在云中创建该文件夹的快捷方式,环境变量就会从那里接管。
现在,我已准备好使用新电脑了。