gpt4 book ai didi

用于创建文件和日期的 csv 列表的 Windows 批处理文件

转载 作者:可可西里 更新时间:2023-11-01 09:43:19 27 4
gpt4 key购买 nike

我需要创建一个 Windows 批处理文件,该文件为目录中的所有文件(减去批处理文件本身!)生成一个包含三个字段的 .csv 文件。

字段:

  1. 文件名(可以包含逗号!)
  2. 创建日期
  3. 修改日期

请注意,批处理文件将从目录运行,并且应该知道为当前目录中的文件生成 .csv 文件,但应该列出批处理文件或生成的 .csv 文件。 csv 文件。

Powershell,vbscript之类的在我的情况下是行不通的,所以它必须是Windows批处理文件。

编辑:

以下是我尝试过的两种主要方法。

第一次尝试:我试过将裸文件名分成“temp1.tmp”,将带有创建时间戳的文件列表分成“temp2.​​tmp”,以及带有修改后的文件列表时间戳到“temp3.tmp”。

DIR /B /A:-D-H | FIND /V "Print Files.bat" | FIND /V "File List" | FIND /V "temp"  > "temp1.tmp"
DIR /A:-D-H /T:C | FIND /V "Print Files.bat" | FIND /V "File List" | FIND /V "temp" > "temp2.tmp"
DIR /A:-D-H /T:W | FIND /V "Print Files.bat" | FIND /V "File List" | FIND /V "temp" > "temp3.tmp"

MORE +5 "temp2.tmp" > "temp4.tmp"
COPY /Y "temp4.tmp" "temp2.tmp"
MORE +5 "temp3.tmp" > "temp4.tmp"
COPY /Y "temp4.tmp" "temp3.tmp"
DEL /F/Q "temp4.tmp"

但是这种方法的问题是我不知道如何一次从多个文件中读取行。这是我找到的最接近的,但它仅来自一个文件:

FOR /F "delims=" %%i IN (temp1.tmp) DO (
ECHO."%%i" >> "File List.csv"
)

第二次尝试:我已经尝试避免使用临时文件,但无济于事。

FOR %%i IN (*.*) DO @ECHO "%%~ni%%~xi",%%~ti >> "File List.csv"

第二种方法的问题在于它不排除批处理文件名,也不提供文件创建时间戳。

有没有一种解决方案可以使这些对我有用,或者有一种我还没有尝试过的方法?

最佳答案

试试这个:

@ECHO OFF &SETLOCAL
(FOR /f "delims=" %%a IN ('dir /b /a-d') DO (
FOR /f "tokens=1-3*" %%x IN ('dir /a-d /tc "%%~a"^|findstr "^[0-9]"') DO (
ECHO "%%a",%%~ta,%%x %%y %%z
)
))>DIR.csv
TYPE DIR.csv

关于用于创建文件和日期的 csv 列表的 Windows 批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18086487/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com