现在的位置: 首页 > 综合 > 正文

某知名IT企业测试工程师笔试题–之批处理文件

2013年02月09日 ⁄ 综合 ⁄ 共 1113字 ⁄ 字号 评论关闭

       测试空间旗下大头针出品

最近事情比较多,好长时间没更新了。本来想今天有时间了,总结一下有关软件缺陷基础方面的内容。谁想接到了我的一个老学员的短信。急,明天18:00之前让我做好的笔试题发送给**公司(著名的国内PC提供商)。

题目已发到你邮箱。

我抓紧时间打开电脑,一看是批处理方面的。不是很难,但很多命令还是需要查的。鼓捣了1个小时:

总算作出来了,当然程序写的比较简单,有很多异常情况考虑和处理。大家多多包涵,有什么意见随时交流。还有对题目得第四个方面,也有些疑问,程序写注释是应该的,但为什么每个执行语句都要写注释呢?

我只写了每个部分的注释,因为里面的语句太简单了,大家肯定能看懂。

题目如下:

假设当前目录为 C:/test, 此目录文件列表如下:

批处理笔试题

请使用批处理完成以下任务:
1.将目录中所有返回值为1的exe文件拷贝到 c:/test/1 目录,并将文件名保存在c:/test/1/1.txt中;
2.将目录中所有返回值为0的exe文件拷贝到 c:/test/0 目录,并将文件名保存在c:/test/0/0.txt中;
3.将目录中所有返回值不符合以上两个条件的exe文件拷贝到 c:/test/other 目录,并将文件名保存在c:/test/other/other.txt中;
4.批处理中需增加注释,说明每个执行语句的含义。

@echo off
CLS
ECHO  1文件夹 --返回值1
ECHO  0文件夹 --返回值0
ECHO  other文件夹--其他返回值

 

REM 循环运行软件并获取返回值。针对不同的返回值实现文件拷贝到不同的文件夹中
set /a i=0
:loop
  set /a i=i+1
  start %i%.exe
 if %ERRORLEVEL% EQU 0 goto CASE0
  else if %ERRORLEVEL% EQU 1 goto CASE1
  else goto CASE2

 :CASE0
 
  xcopy c:/test/%i%.exe c:/test/0/%i%.exe
  goto END

 :CASE1
 
  xcopy c:/test/%i%.exe c:/test/1/%i%.exe
  goto END

 :CASE2
 
 xcopy c:/test/%i%.exe c:/test/other/%i%.exe
  goto END

 :END
if %i% LSS 24  goto loop


@REM 各文件夹中的文件名导入到相应的txt中
cd c:/test/1
dir /B|find /v "1.txt">1.txt

cd c:/test/0
dir /B|find /v "0.txt">0.txt

cd c:/test/other
dir /B|find /v "other.txt">other.txt
 

抱歉!评论已关闭.