bat批处理的问题?
发布网友
发布时间:2024-10-08 23:19
我来回答
共3个回答
热心网友
时间:2024-10-27 14:21
@echo off
消除命令回显,若要后面开启,使用@echo on
:begin
跳转标签,用于跳转命令(例如:Goto Begin,下同)
if "ORIGIN\\%DZ-02.txt" == "" goto error
如果"ORIGIN\\%DZ-02.txt"=""跳转到error标签;这里面"ORIGIN\\%"应该是个路径,"DZ-02.txt"是个文本文档.但是之前没有声明过"ORIGIN\\%"是个什么东西,所以这个东西应该已经给系统部署好了.
if not exist %ORIGIN\\DZ-02.txt goto error
如果没有找到文件%ORIGIN\\DZ-02.txt就跳转到 error标签处.
问题:为什么之前ORIGIN\\%,而后来%ORIGIN\\呢?.....不解....
如果单纯路径的话完全可以把百分号去掉....
copy dxzl.bas+%ORIGIN\\DZ-02.txt dxzls.bas
把文件 dxzl.bas 和 %ORIGIN\\DZ-02.txt 合并到新的文件 dxzls.bas 中;
>nul 不显示回显内容,下同.
gwbasic dxzls.bas >nul
用程序 gwbasic 处理 dxzls.bas
del dxzls.bas
删除文件 dxzls.bas
copy d:\result RESULT\\DZ-02.out >nul
复制 d:\result 并更名到 RESULT\\DZ-02.out ,其中 resuit 也是文件,只不过没有后缀.
del d:\result
删除文件 d:\result
goto end
命令跳转命令,将接下来要执行的命令跳转到end
:error
echo.
回显换行
echo data file is not exist !!
回显文字 "data file is not exist !! ",下同.
echo please begin as below: (suppose the data filename is DATA1)
echo command:DXZL DATA1
echo.
:end
如果不懂goto命令看下面这个例子
@echo off
set num=0
:back
cls
set /a num=%num%+1
echo %num%
pause
goto back
解释:
@echo off 消除回显命令
set num=0 设置变量num为0
:back 标签back
cls 清屏命令
set /a num=%num%+1 Set /a 计算命令,计算%num%+1并将结果重新保存到变量num中
echo %num% 回显变量 %num%
pause 暂停
goto back 跳转到标签back执行标签以下命令
热心网友
时间:2024-10-27 14:21
见下面的解析:
@echo off 运行时不显示命令
:begin 开始标签
if "ORIGIN\\%DZ-02.txt" == "" goto error
-- 如果ORIGIN\\%DZ-02.txt为空跳转出错部分(应该不会发生)
if not exist %ORIGIN\\DZ-02.txt goto error
-- 如果文件ORIGIN\\%DZ-02.txt不存在,跳转出错部分。
copy dxzl.bas+%ORIGIN\\DZ-02.txt dxzls.bas >nul
-- 将dxzl.bas和ORIGIN\\%DZ-02.txt合并到一个文件dxzls.bas中。
gwbasic dxzls.bas >nul
-- 运行dxzls.bas
del dxzls.bas
-- 删除dxzls.bas
copy d:\result RESULT\\DZ-02.out >nul
-- 估计是将dxzls.bas的输出结果拷贝到RESULT\\DZ-02.out
del d:\result -- 删除本地结果文件
goto end
:error -- 下面是出错后的处理,显示一些提示信息。
echo.
echo data file is not exist !!
echo please begin as below: (suppose the data filename is DATA1)
echo command:DXZL DATA1
echo.
:end
热心网友
时间:2024-10-27 14:22
@echo off
::运行时不显示命令本身
:begin
if "ORIGIN\\%DZ-02.txt" == "" goto error
::如果字符串"ORIGIN\\%DZ-02.txt"为空串,则跳转到error标签(发生可能性为0)
if not exist %ORIGIN\\DZ-02.txt goto error
::如果没有找到%ORIGIN\\DZ-02.txt这个文件,则跳转到error标签(这句话有语法问题,“%”这个符号不能作为路径,也不是参数或变量)
copy dxzl.bas+%ORIGIN\\DZ-02.txt dxzls.bas >nul
::把dxzl.bas和%ORIGIN\\DZ-02.txt这两个文件合并为 dxzls.bas ,所有回显信息全部忽略(就是不显示)
gwbasic dxzls.bas >nul
::执行命令行“gwbasic dxzls.bas ”,不显示回显信息
del dxzls.bas
::删除文件dxzls.bas
copy d:\result RESULT\\DZ-02.out >nul
::复制d:\result 到 RESULT\\DZ-02.out ,不显示回显信息
del d:\result
::删除文件 d:\result
goto end
::跳转到end标签
:error
::下列为error标签显示信息
echo.
::在屏幕上空开一行
echo data file is not exist !!
echo please begin as below: (suppose the data filename is DATA1)
echo command:DXZL DATA1
echo.
:end