批处理文件将文本保存为新文件夹中的日期和时间

Batch file save a text as date and time in a new folder

我有一个批处理文件,可以打开 PDF 并选择所有文本,复制它然后将其粘贴到一个新的空白文本文档中。 PDF 和文本文档与批处理文件位于同一文件夹中,因为我需要能够将其提供给其他人。我需要将文本文档保存到一个以当前日期和时间命名的新文件夹中,以防止重名。

[code]
@echo off
start PP15ShirazTimesheet.pdf
timeout 5 > NUL
start select.vbs
start copy.vbs
timeout 5 > NUL
type NUL > EmptyFile.txt
start EmptyFile.txt
start paste.vbs
[/code]

这是我目前所拥有的,vbs 文件只是发送密钥。所以我的问题是,如何将文本文件保存在一个以日期和时间为名称的新文件夹中?我正在寻找简单的解决方案。 感谢您的帮助!

尝试下一个代码片段:

@ECHO OFF >NUL
SETLOCAL enableextensions
for /F %%g in ('
  wmic OS get LocalDateTime /value^|findstr "="
  ') do for /F %%G in ("%%g") do set "_%%G"
echo %_LocalDateTime:~0,14%
MKDIR %_LocalDateTime:~0,14%\
type NUL > %_LocalDateTime:~0,14%\EmptyFile.txt
start %_LocalDateTime:~0,14%\EmptyFile.txt

这里 for 循环是

  • %%g 检索 LocalDateTime 值;
  • %%G 删除值 returned 中结尾的 carriage returnwmic 行为:每个输出行以 0x0D0D0A 而不是常见的 0x0D0A).
  • 结尾

参见 Dave Benham 的 WMIC and FOR /F: A fix for the trailing <CR> problem

编辑

The code works great except that it creates a new folder instead of renaming the file into and an existing folder.

echo %_LocalDateTime:~0,14%
rem MKDIR %_LocalDateTime:~0,14%\
type NUL > %_LocalDateTime:~0,14%.txt
start %_LocalDateTime:~0,14%.txt

type NUL > EmptyFile.txt
start EmptyFile.txt
start "" /W paste.vbs
RENAME EmptyFile.txt %_LocalDateTime:~0,14%.txt