标题: [系统相关] [已解决]批处理怎样屏蔽“找不到操作数”等提示? [打印本页]
作者: wh1234567 时间: 2012-5-27 22:52 标题: [已解决]批处理怎样屏蔽“找不到操作数”等提示?
本帖最后由 CrLf 于 2012-6-16 01:37 编辑
当提示“找不到操作数。”的字样时就屏蔽该提示并显示我预设的固定字符,如何实现?
还有“错误: 系统找不到指定的注册表项或值”
2个分别需添加的代码
我的意思是如果批处理某个 set /a 语句代码有问题的话,例如就会提示“找不到操作数。”的字样,那么我就想屏蔽该提示并显示我预设的固定字符,例如显示“对不起,无该文件”,不知道我表达清楚没
----------------------------------------------------------------------------------------
【已解决】 不等于 [已解决],常发帖的会员请务必留意一下。此贴已代为编辑,下不为例。 By Crlf
作者: gawk 时间: 2012-5-28 00:25
自己重新开发一个命令行解释器
作者: bluewing009 时间: 2012-5-28 12:49
本帖最后由 bluewing009 于 2012-5-28 12:53 编辑
2 >nul
判断 可以用 if defined
作者: wh1234567 时间: 2012-5-28 21:44
回复 3# bluewing009
能不能给个例子
作者: bluewing009 时间: 2012-5-29 09:38
比如 set 语句有问题
那么变量 a 就没有定义吧~
if not defind a echo 对不起,无该文件
作者: wh1234567 时间: 2012-5-30 15:58
回复 5# bluewing009
@echo off
for /f "tokens=1,2,* " %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\333" ^| find /i
"444"') do set "QQPath=%%k"
set zongcishu=6
set /a shengyu=%zongcishu%-%QQPath%
echo 您的文件数为%zongcishu% 已经删除数为%QQPath% 剩余数为%shengyu%
set "FileName=高级软件.exe"
for %%a in (C D E F) do (
if exist %%a:\nul (
pushd %%a:\
for /r %%b in ("*%FileName%") do (
if /i "%%~nxb" equ "%FileName%" (
echo.文件路径为 %%b
)
)
popd
)
)
reg delete "HKEY_LOCAL_MACHINE\333" /v "444" /f
echo 清除注册表项完成!
当提示“找不到操作数。”的字样时就屏蔽该提示并显示我预设的固定字符,如何实现?
还有“错误: 系统找不到指定的注册表项或值”
2个分别需添加的代码
判断
比如 set 语句有问题
那么变量 a 就没有定义吧~
if not defind a echo 对不起,无该文件
你能不能给我修改加上代码
作者: bluewing009 时间: 2012-5-31 10:45
回复 6# wh1234567 - @echo off
- for /f "usebackq tokens=1,2,* " %%i in (`"REG QUERY HKEY_LOCAL_MACHINE\333 ^| find /i "444" 2>nul"`) do set "QQPath=%%k"
- if not defined QQPath (
- echo 屏蔽该提示并显示我预设的固定字符
- rem 这里 你可以给QQPath重新赋值,比如=0,这样下句就不会报错了
- set /a QQPath=0
- )
- set /a zongcishu=6
- set /a shengyu=%zongcishu%-%QQPath%
- echo 您的文件数为%zongcishu% 已经删除数为%QQPath% 剩余数为%shengyu%
-
- set "FileName=高级软件.exe"
- for %%a in (C D E F) do (
- if exist %%a:\nul (
- pushd %%a:\
- for /r %%b in ("*%FileName%") do (
- if /i "%%~nxb" equ "%FileName%" (
- echo.文件路径为 %%b
- )
- )
- popd
- )
- )
-
- reg delete "HKEY_LOCAL_MACHINE\333" /v "444" /f
- echo 清除注册表项完成!
-
复制代码
作者: wh1234567 时间: 2012-6-1 12:56
回复 7# bluewing009
不能运行
作者: apang 时间: 2012-6-1 16:54
试试- @echo off
- for /f "tokens=1,2,* " %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\333" 2^>nul^|find /i "444"') do set "QQPath=%%k"
- if not "%QQPath%"=="" (
- set zongcishu=6
- set /a shengyu=%zongcishu%-%QQPath%
- echo 您的文件数为%zongcishu% 已经删除数为%QQPath% 剩余数为%shengyu%
- ) else echo 预设的固定字符
- set "FileName=高级软件.exe"
- for %%a in (C D E F) do (
- if exist %%a:\nul (
- pushd %%a:\
- for /r %%b in ("*%FileName%") do (
- if /i "%%~nxb" equ "%FileName%" (
- echo.文件路径为 %%b
- )
- )
- popd
- )
- )
- reg delete "HKEY_LOCAL_MACHINE\333" /v "444" /f 2>nul&&echo 清除注册表项完成!||echo 预设的固定字符
- pause
复制代码
作者: wh1234567 时间: 2012-6-3 13:31
本帖最后由 wh1234567 于 2012-6-3 13:34 编辑
回复 9# apang
不错,能不能再修改完美下
文件路径为,这个如果找到该文件的话就屏蔽“操作成功结束”,如果没有的话就提示“对不起,没找到该文件路径!”的字样,另外我发现不能计算了
set zongcishu=6
set /a shengyu=%zongcishu%-%QQPath%
echo 您的数为%zongcishu% 已经数为%QQPath% 剩余数为%shengyu%
这个不显示计算结果了
作者: wh1234567 时间: 2012-6-3 13:35
%zongcishu% 和 %shengyu%
不显示了,不知道是为什么
作者: apang 时间: 2012-6-3 14:53
回复 11# wh1234567
偶不知道你的真正意图,再试一次- @echo off
- for /f "tokens=1,2,* " %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\333" 2^>nul^|find /i "444"') do set "QQPath=%%k"
- set zongcishu=6
- if "%QQPath%"=="" set QQPath=0&echo 预设的固定字符
- set/a shengyu=%zongcishu%-%QQPath%
- echo 您的文件数为%zongcishu% 已经删除数为%QQPath% 剩余数为%shengyu%
- set "FileName=高级软件.exe"
- for %%a in (C D E F) do (
- if exist %%a:\nul (
- pushd %%a:\
- for /r %%b in ("*%FileName%") do (
- if /i "%%~nxb" equ "%FileName%" set flag=1&echo.文件路径为 %%b
- )
- popd
- )
- )
- if not "%flag%"=="1" echo 对不起,没找到该文件路径!
- reg delete "HKEY_LOCAL_MACHINE\333" /v "444" /f >nul 2>nul&&echo 清除注册表项完成!||echo 预设的固定字符
- pause
复制代码
作者: garyng 时间: 2012-6-3 17:51
那些错误信息应该不能屏蔽的(应该)
命令行似乎把错误信息输出到stderr而不是stdout
据我所知 stderr不能被重定向
作者: wh1234567 时间: 2012-6-3 19:18
本帖最后由 wh1234567 于 2012-6-3 19:33 编辑
回复 12# apang
太感谢您了,完美了,呵呵呵,能不能再帮我看看http://www.bathome.net/thread-16917-1-1.html 里的11楼问题,我等了好久没看到答案了,2个新建和1个追加;判断有就跳过并提示该设置已经有了无需重新设置的字样,如果判断是没有的话就新建或追加并提示相应的设置成功;这3个尽量弄成3个分段开的那种,要不我怕看不懂,再次感谢了……
作者: wh1234567 时间: 2012-6-4 15:23
回复 12# apang
http://www.bathome.net/thread-16917-2-1.html
http://www.bathome.net/thread-17144-1-1.html
你帮我看看这2个问题吧
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |