Windows批处理文件中的代码部分未执行

时间:2014-04-24 22:25:38

标签: windows batch-file

因此,我没有太多批处理脚本的经验,并且使用常规编程语言相当多。我试着写一些非常简单的东西,并且不明白为什么我的一半代码没有按照我的预期执行。也许我在Windows批处理脚本中打破了一些基本规则。现在,下面的代码只是创建新目录,然后脚本似乎停止并且没有完成涉及时间,复制或清除文件的任何代码。有人知道这段代码有什么问题吗?

   @echo off

rem check for directory
if not exist fileDir (
 mkdir fileDir

)

rem check for file...
if file.txt exists (

  REM get computer name
  set hostName = echo %computername%

  rem get time format
  SET HOUR=%time:~0,2%
  SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%%time:~6,2% 
  SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%

  if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%)

  type file.txt >> ./fileDir/%hostName%_%dtStamp%.LOG

  REM clearing file contents of file.txt.
  break > file.txt
  )

1 个答案:

答案 0 :(得分:2)

该行:

if file.txt exists (

不是有效的批处理文件命令。 exists选项if选项exist没有if exist file.txt ( 选项,它必须位于文件名之前。所以该行应该是:

if

通过在命令提示符窗口中键入help if,您可以获得有关在批处理文件中使用{{1}}的更多信息。