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

Windows批处理文件中的部分代码未执行,windows,batch-file,Windows,Batch File,因此,我在批处理脚本编写方面没有太多经验,并且经常使用常规编程语言。我试图写一些非常简单的东西,但不明白为什么我的代码有一半没有像我期望的那样执行。也许我打破了Windows批处理脚本中的一些基本规则。现在,下面的代码只是创建新目录,然后脚本似乎停止了,没有完成任何涉及时间、复制或清除文件的代码。有人看到这个代码有什么问题吗 @echo off rem check for directory if not exist fileDir ( mkdir fileDir ) rem ch

因此,我在批处理脚本编写方面没有太多经验,并且经常使用常规编程语言。我试图写一些非常简单的东西,但不明白为什么我的代码有一半没有像我期望的那样执行。也许我打破了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
  )
该行:

if file.txt exists (
不是有效的批处理文件命令。如果
选项为
存在
单数,则
存在
选项必须位于文件名之前。因此,这条线应该是:

if exist file.txt (

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

我不是批处理专家,但在顶部写了
if not exist fileDir
。后来你写了
如果file.txt存在
,你的语法似乎不一致。如果存在file.txt文件,请尝试“
”@KenWhite:没错
break
命令不显示任何内容,因此重定向会创建一个空文件,即“清除file.txt的文件内容”。@Aacini:Ah,nice.:-)我检查了break是否做了什么,但实际上没有检查输出。谢谢。:-)非常感谢。我知道这是很明显的事情。我当然很感激!