根据文件名和目录创建文本文件 - 批处理

时间:2017-01-09 17:09:51

标签: batch-file

我有多个$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import datetime >>> >>> d = datetime.datetime.strptime( "20170108233000", "%Y%m%d%H%M%S") >>> t0 = datetime.datetime(1970, 1, 1) >>> ticks = (d - t0).total_seconds() >>> ticks 1483918200.0 >>> $ date -d @1483918200 Mon Jan 9 00:30:00 CET 2017 个文件位于一个目录中。

目录.pdf中的文件名示例test score_test得分_9999999999_smith.pdf`。

我需要将文件名解析为::

我还需要将文件的位置打印到开头带有9999999999|test score|smith|||||||符号的文本文件中。

所以在文本文件中看起来像这样:@

文本文件中的文件输出为:

@D:\TEMP\test score_test score _9999999999_smith.pdf

我只需将目录和文件名输出到文本文件即可。

现在我正在努力将9999999999|test score|smith||||||| @D:\TEMP\test score_test score _9999999999_smith.pdf 添加到目录/文件名的开头。

@

我试过这个:

dir /s/b *.pdf > C:\temp\test.txt

我试过这个:

@echo off
set var1=@
dir *.pdf /b /s  DO ECHO %var1%*.pdf > C:\temp\test.txt

1 个答案:

答案 0 :(得分:0)

@Echo off&SetLocal EnableExtensions
PushD "C:\path\to\your\pdffolder"
Set "FileOut=X:\path\to\LogFile.txt"
:: initially clear Logfile
Type Nul >"%FileOut%"
:: first for enumerates the pdfs, second for /f parses the name
:: to tokens %%A .. %%D delimited by underscore
For %%F in (*.pdf) do For /f "tokens=1-4 delims=_" %%A in ("%%~nF"
  ) Do (
>>"%FileOut%" Echo:%%C^|%%B^|%%D^|^|^|^|^|^|^|
>>"%FileOut%" Echo:@%%F
)

示例LogFile.txt

8888888888|test score |miller|||||||
@test score_test score _8888888888_miller.pdf
9999999999|test score |smith|||||||
@test score_test score _9999999999_smith.pdf
7777777777|test score |baker|||||||
@test score_test score _7777777777_baker.pdf