【问题标题】:Reg File Import - Printer MappingReg 文件导入 - 打印机映射
【发布时间】:2017-10-20 02:34:21
【问题描述】:

我正在尝试拆分 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, Adob​​e PDF”。

我知道在第二行“HKEY_CURRENT_USER”也会被选中,因为它包含“_”;但这很好。

编辑 1 - 请求我的代码

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

【问题讨论】:

  • 如果您通过将其编辑到您的问题中来向我们展示您的尝试,我们会尝试修复它,但就目前而言,您当前的帖子是一个代码请求,这不是 SO 的目的
  • 抱歉,我的尝试更新了。

标签: batch-file for-loop registry


【解决方案1】:
for /f "usebackq tokens=2,3delims=_\" %%a in ("%filename1%") do IF "%%a"=="myprint" echo Value=%%b

其中filename1 包含土豆。

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

tokens=* 指定要分配整行,而不是单个标记。

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

  1. "
  2. 我的印记
  3. 所需数据

【讨论】:

  • 非常感谢@magoo,非常感谢。只是想再添加一件事,后来我意识到输出没有出现,因为我试图读取 Unicode 格式的文本文件(当您将 reg 文件导出为 txt 文件时)并且必须将文件转换为 ANSI。跨度>
猜你喜欢
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 2018-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多