我正在使用SUBST
命令%CD%
将文件夹映射为驱动器
一段时间后,我发现我需要知道之前的路径,然后才能成为特定的驱动器,而且不知道如何获得它。
subst T: /d
subst T: %CD%\VMSC_OFP_P1
我想知道T的完整路径,并可能将其保存为变量或txt
文件。
答案 0 :(得分:0)
要使用:
SUBST > path.txt
以获取txt文件中的完整路径
答案 1 :(得分:0)
更新:使用findstr仅获取 T:
驱动器!
如果您不知道基本的完整路径/跟踪器,则将其设置为
T:
驱动器,您可以简单地在bat文件中使用此代码 :< / p>
@echo off
for /f "tokens=2* delims==^> " %%i in ('subst ^| findstr /lic:"T"') do set "path_subst=%%i%%j"
echo/%path_subst%
您可以使用一些选项来执行此操作...
:: Save in text to temp/txt file
for /f "tokens=2* delims==^> " %%i in ('subst ^| findstr /lic:"T"') do echo/%%i%%j">"%temp%\path_subst.txt"
::读入一个变量
set /p path_subst=<"%temp%\path_subst.txt"
或通过使用setx设置为全局变量 仅在重启后才在系统上可用
:: save before
setx path_subst %CD%\VMSC_OFP_P1
或通过添加 reg键setx值 :
reg add HKCU\Environment /v path_subst /d "%CD%\VMSC_OFP_P1" /f
从setx
重新启动系统之前获取路径
:: in bat file:
for /f "tokens=3 delims=^ " %%i in ('reg query HKCU\Environment ^| findstr /i /c:"path_subst"') do echo/%%i
:: in commandline:
for /f "tokens=3 delims=^ " %i in ('reg query HKCU\Environment ^| findstr /i /c:"path_subst"') do echo/%i
从bat文件中的setx
重新启动系统后检索路径:
@echo off
for /f "tokens=2* delims==^> " %%i in ('subst ^| findstr /lic:"T"') do set "path_subst=%%i%%j"
echo/%path_subst%
subst T: "%path_subst%"
:: do some task....
subst T: /d
当{em>
setx
中不再需要任何变量时,您可以通过以下方式将其删除::
reg delete HKCU\Environment /v path_subst /f 2>nul >nul