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!显示出来的是常量 展开
展开全部
bat批处理ECHO处于关闭状态,是设置错误造成的,解决方法如下:
1、首先按【Win + R】快捷键打开【运行】对话框,输入“cmd”后按Enter键。
2、先来看一下echo关闭状态时cmd的显示情档猜况,从下图可以看到,虽然敲郑蠢敏了多个回车,但是没有任何提示符出现,好像cmd出了问题一样。
3、这时输入【echo】命令查看一下当前回显的状态,可以看到“echo处喊枝于关闭状态”。
4、这时输入命令【echo on】,就完成了。
5、再看一看【echo】命令“回显”的功能,即后面跟什么,就在控制台回显什么,步骤图如下所示。
6、如果忘记echo的用法,输入【echo /?】按Enter键,就完成了。
展开全部
你先用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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询