批处理脚本以获取文件修改信息

时间:2015-02-24 12:05:09

标签: batch-file

我正在尝试编写批处理脚本以在XP机器上使用。 我基本上想要获取特定文件的文件修改信息并将其输出到文件。

这是我到目前为止所写的内容:

SET filename="C:\Users\xxx\Desktop\testfile.txt"
 if exist %filename% (
    for %%A in (%filename%) DO (SET "bodytext=%bodytext%testfile.txt updated at %%~tA")
)
  else (
   SET "bodytext=%bodytext%Warning no file exists." 
 )
echo %bodytext% > results.txt

当我运行它时,它会将更新的文件名nand time写入results.txt,但它也写入"警告没有文件存在。"到results.txt呢?

如果有人能帮助我,我将非常感激?

由于

2 个答案:

答案 0 :(得分:1)

)
  else (

这必须全部在一行

)其他(

答案 1 :(得分:-1)

如果在'for'命令中设置变量,则必须使用'setlocal enabledelayedexpansion'。

@echo off
setlocal enabledelayedexpansion

SET filename="C:\filename.txt"
if exist %filename% (
    for %%a in (%filename%) do (
        set filedate=%%~ta
        set bodytext=%filename% last updated at !filedate!
    )
) else (
    set bodytext=%filename% No File Exist.
)

echo %bodytext%>c:\results.txt