注册文件导入 - 打印机映射

时间:2017-10-20 02:34:22

标签: batch-file for-loop registry

我正在尝试拆分reg文件中的条目,格式为:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices]
"Send To OneNote 2013"="winspool,nul:"
"Adobe PDF"="winspool,Ne02:"
"\\\\myprint\\ZX101_HP1201C2220C"="winspool,Ne03:"
"\\\\myprint\\HSJD201_LexMark1024iFF"="winspool,Ne04:"

我只想输出ZX101HSJD201;总是出现在“_”之前(见最后两行)。这里的其他共性是\\\\myprint\\总是出现在我试图捕获的上述实体之前。

需要忽略reg文件中的其他条目,例如“OneNote,Adobe PDF”。

我知道在第二行“HKEY_CURRENT_USER”也会被选中,因为它包含“_”;但那没关系。

编辑1 - 请求我的代码

for /f "usebackq tokens=* delims=myprint\\" %%a in ("C:\Users\admin\Printers_Mapped - Copy.txt") do set Value=%%a

1 个答案:

答案 0 :(得分:0)

for /f "usebackq tokens=2,3delims=_\" %%a in ("%filename1%") do IF "%%a"=="myprint" echo Value=%%b

其中filename1包含土豆。

delims指定一组分隔符,而不是字符串。

tokens=*指定要分配整行,而不是单独的令牌。

使用\_作为分隔符,关键行标记为

  1. "
  2. myprint
  3. 所需数据