【发布时间】:2013-06-12 01:43:46
【问题描述】:
我想我有一个简单的问题。我有一个文件,我试图将输出格式化为列。我想我在这里找到了一种方法,但是未设置 string1 和 string2 变量。有任何想法吗?我不熟悉 Windows 脚本,并且来自 Linux,它更容易。
做这个:
San Disk USB Drive, 10-12-2013
Superdrive Disk USB Drive, 10-11-2013
看起来像这样:
San Disk USB Drive 10-12-2013
Superdrive Disk USB Drive 10-11-2013
我用来读取文本文件的代码:
FOR /F "usebackq delims=" %%a in (`"findstr /n ^^ temp_sorted_usb_history.txt"`) do (
set "var=%%a"
SETLOCAL EnableDelayedExpansion
set "var=!var:*:=!"
echo(!var!
for /F "tokens=1,2 delims=," %%b in ("!var!") do (
echo %%b%%c
set string1=%%b
set string2=%%c
set string1="%string1% "
set string2="%string2% "
echo !string1:~-40! !string2:~-40!
)
ping -n 4 -w 1 127.0.0.1 >NUL
ENDLOCAL
)
问题是我无法设置字符串变量。
【问题讨论】:
-
试试这个:
FOR /F "delims=" %%a in ('findstr /n "^" "temp_sorted_usb_history.txt"')。 -
谢谢,它实际上正确地捕获了行,脚本中的变量没有设置。我用这个代替“或/F”tokens = 1,2 delims =,“%%b in (temp_sorted_usb_history.txt) do”。感谢您的回复!
标签: batch-file