我有一个文本文件,我知道文件的第16行将以_____Dest : xxx
开头,其中下划线(5)都是空格,xxx不是已知的字符长度,可能包含空格。我想将xxx分配给批处理文件中的变量。我想代码中会包含一个for /f "skip=15 delims="
和一个find "Dest : "
,但我并不确定如何处理它。
如果有帮助,我知道xxx将是一个以\\
开头的路径,我想在变量中加入\\
。
以下是该文件的摘录:
*******************************************************************************
* *
* This is the robocopy log section. *
* *
*******************************************************************************
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Fri Dec 09 20:28:08 2016
Source : \\server\path...
Dest : \\server\path...
Files : *.*
Options : *.* /TEE /S /E /COPY:DAT /MT:128 /R:1 /W:1
etc.
etc.
我想将Dest :
之后的第16行的所有内容分配给变量
答案 0 :(得分:0)
以下是我如何做的快速示例:
此方法意味着无需跳过/计算行,只需选择robocopy目标为服务器路径的行(根据您的规范)。
System.out.println(..)
其中file.ext是您的robocopy输出日志。
答案 1 :(得分:0)
for /f "skip=15tokens=1*delims=: " %%a in (filename) do set "var=%%b"&goto done
:done
您需要在哪里引用"任何包含分隔符的文件名,如果您使用带引号的文件名,那么您还需要在usebackq
之前包含skip
解析选项。