批处理文件
我是批处理脚本的新手。我正在编写一个脚本,它从Windows中的注册表项获取值。我正在使用for循环
for /f "tokens=1*" %%A in ('reg query HKLM\Software\CDupe\ZIB\ /v BackupSetLocation' ) do SET path_temp=%%B
for /f "tokens=1*" %%A in ("%path_temp%") do SET BackupSet_Path=%%B
从这2个for循环中,我得到了注册表项BackupSetLocation
的值。
echo %BackupSet_Path%
C:\ProgramData\CDupe\CDupe Cloud Backup(x64)\zcb\conf
时获得的值。
问题是:
现在来自BackupSet_Path
我只想提取
C:\ProgramData\CDupe\CDupe Cloud Backup(x64)\
。
我试过这个
for /f "tokens=1*" %%A in ('reg query HKLM\Software\CDupe\ZIB\ /v BackupSetLocation' ) do SET path_temp=%%B
for /f "tokens=1-4" %%A in ("%path_temp%") do SET BackupSet_Path=%%B
给予令牌= 1-4,我只获得C:\ProgramData\CDupe\CDupe
因为“CDupe Cloud Backup(x64)
”之间有空格。
任何人都可以告诉我如何忽略这些空格并获取此字符串
C:\ProgramData\CDupe\CDupe Cloud Backup(x64)\
感谢您的时间。
答案 0 :(得分:2)
for /f "tokens=1*" %%A in ('reg query HKLM\Software\CDupe\ZIB\ /v BackupSetLocation' ) do SET path_temp=%%B
for /f "tokens=1-4 delims=\" %%A in ("%path_temp%") do SET BackupSet_Path=%%A\%%B\%%C\%%D\