bat批处理ECHO 处于关闭状态是怎么回事
@echooff&setlocalenabledelayedexpansionsetYUIFOLDER=D:\yuicompressor-2.4.7\buildsetJS...
@echo off&setlocal enabledelayedexpansion
set YUIFOLDER=D:\yuicompressor-2.4.7\build
set JSFOLDER=D:\js
@echo 正在查找 javascript
chdir /d %JSFOLDER%
for /r %%a in (*.js) do (
rem @echo 正在压缩 %%a
@echo %%a
set v = %%a
echo !v!
rem @java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar --charset UTF-8 %%~a -o %%~a
rem @java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar %%~a -o %%~a
endlocal
)
echo 完成!
pause
代码如上 但会报错 !v!显示出来的是常量 展开
set YUIFOLDER=D:\yuicompressor-2.4.7\build
set JSFOLDER=D:\js
@echo 正在查找 javascript
chdir /d %JSFOLDER%
for /r %%a in (*.js) do (
rem @echo 正在压缩 %%a
@echo %%a
set v = %%a
echo !v!
rem @java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar --charset UTF-8 %%~a -o %%~a
rem @java -jar %YUIFOLDER%\yuicompressor-2.4.7.jar %%~a -o %%~a
endlocal
)
echo 完成!
pause
代码如上 但会报错 !v!显示出来的是常量 展开
展开全部
你先用echo off 关掉了回显,然后用echo显示内容的时候,如果后面的内容为空,就会被认为是单纯的echo命令,这个命令是用来查看当前的回显状态。而当前状态就是 echo 关闭。所以有这个结果。楼上那位说得很好,去掉@echo off ,查看是哪一步出错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标题与代码的问题不一样,楼上有网友回答了标题的问题
把endlocal这行去掉就行了(它把变量延迟关了所以不能正常显示!v!)
看得出来这段代码是拼起来的,单纯就这段效果来说把&setlocal enabledelayedexpansion和
set v = %%a
echo !v!
及endlocal
都去掉都行
把endlocal这行去掉就行了(它把变量延迟关了所以不能正常显示!v!)
看得出来这段代码是拼起来的,单纯就这段效果来说把&setlocal enabledelayedexpansion和
set v = %%a
echo !v!
及endlocal
都去掉都行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删掉@echo off
看看是哪里出了问题,一般这种提示都代表变量值为空!
看看是哪里出了问题,一般这种提示都代表变量值为空!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
真的只差一点( IF DEFINED aa echo.!aa!>>%%~na.tem ),修改后如下
@echo off &setlocal enabledelayedexpansion
echo 正在查找替换请等候...
set str1=123456
set str2=765432
for /f "delims=" %%a in ('dir /b/a-d *.txt') do (
copy nul %%~na.tem>nul
for /f "tokens=1* delims=:" %%b in ('findstr /n ".*" "%%a"') do (
if "%%c"=="" (echo.>>%%~na.tem) else (
set aa=%%c & set aa=!aa:%str1%=%str2%!
IF DEFINED aa echo.!aa!>>%%~na.tem ))
del "%%a" & ren "%%~na.tem" "%%a" )
echo 已完成,按任意键退出...
pause>nul
@echo off &setlocal enabledelayedexpansion
echo 正在查找替换请等候...
set str1=123456
set str2=765432
for /f "delims=" %%a in ('dir /b/a-d *.txt') do (
copy nul %%~na.tem>nul
for /f "tokens=1* delims=:" %%b in ('findstr /n ".*" "%%a"') do (
if "%%c"=="" (echo.>>%%~na.tem) else (
set aa=%%c & set aa=!aa:%str1%=%str2%!
IF DEFINED aa echo.!aa!>>%%~na.tem ))
del "%%a" & ren "%%~na.tem" "%%a" )
echo 已完成,按任意键退出...
pause>nul
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询