【发布时间】:2010-09-06 08:54:21
【问题描述】:
我在 DOS 脚本 for 循环中有一个变量分配问题。它从不分配值,它始终为空白。下面是示例代码
@echo off
set ans=%1
SET STRING=%ans:"=%
echo Parsing the string "%STRING%":
for /f "tokens=1-2" %%a in ("%STRING%") do (
set Word1 =%%a
echo Word 1: %%a
echo Word 1: %Word1%
set Word2 =%%b
if %%b.==. (Set server =\\.\pipe\mssql$microsoft##ssee\sql\query ) else (Set server =%%b)
)
echo Server name "%server%"
sqlcmd -s %server%
%%a 的值未分配给变量 Word1。但是当我回显 %%a 时,它显示了正确的值。同样在最后一个空值检查条件中,服务器变量从未设置。我在这里很困惑。有人可以帮帮我吗?
P.S: 脚本的输入是任意 2 字字符串(例如:a.bat "l dev-server")
【问题讨论】:
标签: batch-file dos