批处理文件字符串存储和修改?

时间:2015-04-19 12:55:51

标签: batch-file

我有两个问题。

问题1 :包含以下输出的字符串(来自wget),该字符串已存储在:

wgetstring=Length 2012123 (20M) [text.txt something]
                  ↑                                ↑ <-- This data can be random.

现在我要删除&#34; 长度2012123 &#34;之后的所有字符。从那&#34; wgetstring &#34;,我该如何实现?


问题2 :我有一个包含以下输出的字符串(来自cmd),该字符串已存储在:

cmdstring=cmd.exe /c ""C:\Users\Ben\Desktop\main.bat" "C:\Users\Ben\script.bat"
                     ↑                              ↑ ↑                       ↑ <-- This data can be random.

现在我只想从&#34; <存储此输出(&#34;&#34; C:\ Users \ Ben \ Desktop \ main.bat&#34; ) EM> cmdstring &#34;输出所以它可以进一步存储为

cmdstringupdated=C:\Users\Ben\Desktop\main.bat

但是,没有任何引号。


任何帮助都将受到高度赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

Q1。

假设您将直接执行wget

@echo off
for /f "tokens=1,2" %%a  in ('wget command') do (
   set "len_str=%%a %%b"
) 
echo %len_str%

Q2。

@echo off
set "some_string=cmd.exe /c ""C:\Users\Ben\Desktop\main.bat" "C:\Users\Ben\script.bat""

echo %some_string%
set some_string=%some_string:""="%
for /f "usebackq tokens=3" %%a in ('%some_string%') do echo %%~a

rem :: or use this
call :p %some_string%

exit /b 0

:p

echo %~3