批处理 for循环时 变量包含括号 50
如下,在变量没有(x86)时是正常的。如果有这个(x86)就不行了。请大神帮助。解决追分。@echooffechoRanametoolsetlocalenabledela...
如下,在变量没有(x86)时是正常的。如果有这个(x86)就不行了。请大神帮助。解决追分。
@echo off
echo Raname tool
setlocal enabledelayedexpansion
set "olddir=9.c"
set olddirstorepath=E:\Program Files (x86)\test.c\
set newdirstorepath=E:\Program Files (x86)\test.c\test m
set olddirdir=1
echo ---------------------------------------修改存储目录。Ctrl+C结束脚本。
cd /D "%~dp0"
if "%olddirdir%"=="1" (
echo 此域名的目录将被修改为%olddirstorepath%\%olddir%-mstore
pause
dir /A:D /b "%olddirstorepath%" >%tempdir%\tmpdir.txt
mkdir "%olddirstorepath%\%olddir%-mstore"
for /f %%i IN (%tempdir%\tmpdir.txt) do (
set "mdir=%%i"
echo "!mdir!" |findstr /C:@ >nul
set "bool=!errorlevel!"
if !bool!==1 (
echo "%newdirstorepath%"|findstr /C:"%olddirstorepath%\!mdir!" >nul
set bool1=!errorlevel!
if not !bool1!==0 (
echo ...移动!mdir!...
MOVE "%olddirstorepath%\"!mdir! "%olddirstorepath%\%olddir%-mstore\"!mdir!
)
)
)
)
已经找到问题点。程序中所有包含的变量在使用时都要有双引号引起来。我这个错误就在echo后面没有使用。本身的for循环是正确的。因为已经在引号内。 展开
@echo off
echo Raname tool
setlocal enabledelayedexpansion
set "olddir=9.c"
set olddirstorepath=E:\Program Files (x86)\test.c\
set newdirstorepath=E:\Program Files (x86)\test.c\test m
set olddirdir=1
echo ---------------------------------------修改存储目录。Ctrl+C结束脚本。
cd /D "%~dp0"
if "%olddirdir%"=="1" (
echo 此域名的目录将被修改为%olddirstorepath%\%olddir%-mstore
pause
dir /A:D /b "%olddirstorepath%" >%tempdir%\tmpdir.txt
mkdir "%olddirstorepath%\%olddir%-mstore"
for /f %%i IN (%tempdir%\tmpdir.txt) do (
set "mdir=%%i"
echo "!mdir!" |findstr /C:@ >nul
set "bool=!errorlevel!"
if !bool!==1 (
echo "%newdirstorepath%"|findstr /C:"%olddirstorepath%\!mdir!" >nul
set bool1=!errorlevel!
if not !bool1!==0 (
echo ...移动!mdir!...
MOVE "%olddirstorepath%\"!mdir! "%olddirstorepath%\%olddir%-mstore\"!mdir!
)
)
)
)
已经找到问题点。程序中所有包含的变量在使用时都要有双引号引起来。我这个错误就在echo后面没有使用。本身的for循环是正确的。因为已经在引号内。 展开
3个回答
展开全部
不用括起来,把(换成^(,)换成^)就可以了,用set替换一下变量就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要么变量值加上双引号,要么变量名加上双引号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解决了?
不错不错~~~
不错不错~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询