用BAT写个文件。要求:先判断a.txt是否为空,为空就直接退出,不再往下执行,不为空则继续执行。
要求:先判断a.txt是否为空,为空就提示文件为空,直接退出,不再往下执行,不为空则继续执行。再判断b.txt是否为空,为空提示文件为空,就退出,不空就继续(同上)。a....
要求:先判断a.txt是否为空,为空就提示文件为空,直接退出,不再往下执行,不为空则继续执行。
再判断b.txt是否为空,为空提示文件为空,就退出,不空就继续(同上)。
a.txt和b.txt不为空时,调用c.exe,并且删除b.txt文件的第一行 展开
再判断b.txt是否为空,为空提示文件为空,就退出,不空就继续(同上)。
a.txt和b.txt不为空时,调用c.exe,并且删除b.txt文件的第一行 展开
1个回答
展开全部
@echo off
set nm=a.txt
set ne=b.txt
:A
set "n="
for /f "tokens=* delims= " %%a in (%nm%) do (if not "%%a"=="" set n=a)
if not defined n (echo.%nm%为空,2秒后退出&ping/n 3 127.1>nul&&exit) else echo %nm%非空&goto B
:B
set "n="
for /f "tokens=* delims= " %%a in (%ne%) do (if not "%%a"=="" set n=a)
if not defined n (echo.%ne%为空,2秒后退出&ping/n 3 127.1>nul&&exit) else echo %ne%非空&goto C
:C
start "" "C.exe"
for /f "skip=1 tokens=* delims=" %%a in (%ne%) do (
echo.%%a
)>>temp.txt
del %ne% /q &&ren temp.txt %ne%
start "" "%ne%"
pause
用了个死办法,不过还好能达到要求。。。
set nm=a.txt
set ne=b.txt
:A
set "n="
for /f "tokens=* delims= " %%a in (%nm%) do (if not "%%a"=="" set n=a)
if not defined n (echo.%nm%为空,2秒后退出&ping/n 3 127.1>nul&&exit) else echo %nm%非空&goto B
:B
set "n="
for /f "tokens=* delims= " %%a in (%ne%) do (if not "%%a"=="" set n=a)
if not defined n (echo.%ne%为空,2秒后退出&ping/n 3 127.1>nul&&exit) else echo %ne%非空&goto C
:C
start "" "C.exe"
for /f "skip=1 tokens=* delims=" %%a in (%ne%) do (
echo.%%a
)>>temp.txt
del %ne% /q &&ren temp.txt %ne%
start "" "%ne%"
pause
用了个死办法,不过还好能达到要求。。。
追问
我怎么运行时候不管a.txt和b.txt是不是为空都提示 为空,2秒后退出,并没有,a.txt和b.txt不为空时执行c。exe
追答
我还是继续测试了一下,完全是OK的。
分行乱了要自己调整啊。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询