因此,我没有太多批处理脚本的经验,并且使用常规编程语言相当多。我试着写一些非常简单的东西,并且不明白为什么我的一半代码没有按照我的预期执行。也许我在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
)
答案 0 :(得分:2)
该行:
if file.txt exists (
不是有效的批处理文件命令。 exists
选项if
选项exist
没有if exist file.txt (
选项,它必须位于文件名之前。所以该行应该是:
if
通过在命令提示符窗口中键入help if
,您可以获得有关在批处理文件中使用{{1}}的更多信息。