我目前正在尝试进行一个小批量工作,该工作能够将PDF和TXT文件从“几个文件夹”复制到一个按日期MM-YYYY排序的文件夹。
我已经有一些代码在工作,但仍未完成,我目前停留在多个文件夹上并添加TXT。
spring.profiles = production // remove it to fix
这工作正常(名称中的空格除外,但我很棒,我会发现dos文件名存在问题)。但是我也要在几个文件夹中搜索什么。
就像。
set "source=c:\Program Files (x86)\Temp1"
set "target=c:\Temp2"
for %%i in (%source%\*.pdf) do @for /f "tokens=1,2,3 delims=/ " %%A in
("%%~ti") do (
if not exist "%target%\%%C\%%B" mkdir "%target%\%%C\%%B"
move "%%~fi" "%target%\%%C\%%B"
)
朝着这个方向前进,我只是试图重复代码并仅交换为源代码,但这并不能那样工作,所以我也会坚持使用.txt。
如果有人有一个主意,我会很高兴的:)
答案 0 :(得分:0)
使用简单的for
来迭代pdf文件的一种方法是更改为源文件夹。
要迭代几个源文件夹,请用另一个for
括起来:
(未经测试)
@Echo off
set "source=c:\Program Files (x86)"
set "target=c:\Temp2"
For %%S in (Temp1 Temp2 Temp3) do (
PushD "%source%\%%S"
for %%I in (*.pdf) do for /f "tokens=1,2,3 delims=/ " %%A in ("%%~tI") do (
if not exist "%target%\%%C\%%B" mkdir "%target%\%%C\%%B"
move "%%~fI" "%target%\%%C\%%B\"
)
PopD
)
答案 1 :(得分:0)
感谢您的想法,它看起来非常安静,但与我正在寻找的不匹配:(
如果我在(Temp 1 Temp 2)中添加“ %% S”,那么他正在寻找2种类型的文件夹,也许也是我在示例中的错误:)
除了程序文件,用户文档等之外,我还必须检查其他文件夹。.此外,我仍然需要一个将TXT文件也添加到PDF的想法。
感谢您的精美代码,我将继续尝试寻找解决方案:)