读取一行并存储为变量

时间:2015-09-22 01:56:21

标签: arrays batch-file

背景

只需要一个批处理文件的帮助,该文件意味着(按行)读取文本文件(它是一个错误日志)。每行都有一个尚未备份的文件的文件路径。我需要将这些路径读入他们自己的各种变量中,以便我可以使用此批处理手动复制它们(运行robocopy或xcopy或其他东西)。

援助:

我想尝试找到以" \\"开头的字符串。并将后面的所有内容保存到一个数组中,然后传递给一些"函数"做检查和复制。

当前进展:

我现在可以做以下事情:

  • 阅读文件
  • 检查变量以确保它不是手动复制过程的一部分
  • 复制数据

代码:

这是我被困的地方。将文件读入%%a并尝试将%%a读入变量以检查" \\"的字符串然后将+ the_rest_of_the_line复制到变量中,我最终会进行检查和复制。

set LOGPATH=C:\logs\
echo finding path
cd %LOGPATH%
for /f "tokens=* delims=" %%a in (err.log) do (
)
pause

我尝试使用findstr,但我无法看到它是如何工作的,因为它会以单数形式划分界限" \"

此处还有一个日志样本:

  

18:34:55无法打开\\ server \ path \ file

1 个答案:

答案 0 :(得分:1)

根据文件格式更新了内容:

尝试此命令:

for /f "tokens=2* delims=\" %%a in (test.txt) do (
    @echo \\%%a\%%b
)

查看它是否正确输出路径。假设路径是该行中的最后一项。