我有检查根目录每10秒为PDF文件,并将这些文件的确切名称相同的其相应的子文件夹中的批处理文件。批次帮助 - 移动文件到目录(如果存在)的文件名,重命名001
我缺少的是我需要我的批处理文件来检查指定文件的目标子目录,并且如果指定的文件存在,重命名要复制到!filename!001.pdf
的新文件并且001
会增加为重复的文件名被复制。这是我得到的:
:loop
setlocal enabledelayedexpansion
cls
pushd c:\files\
for /f "tokens=*" %%1 in ('dir /a-d /b c:\files\*.pdf') do (
set filename=%%~n1&set dirname=!filename:~0,7!
dir c:\files /b *.pdf > location1list.tmp
for /f %%a in (location1list.tmp) do dir c:\files\%%a > location2list.tmp
if not exist c:\files\!dirname! (md c:\files\!dirname!)
move %%1 c:\files\!dirname!\>nul
)
timeout /t 10
goto:loop
任何建议如何我可以将文件重命名?
I.e.如果存在于Bob
文件夹Bob.pdf
和另一Bob.pdf
添加到C:\files
文件夹,我希望它被复制到C:\files\bob
文件夹Bob001.pdf
。
听起来好像是你试图创造一种[版本控制系统(http://en.wikipedia.org/维基/ Revision_control)。我强烈推荐使用现有的RCS,而不是(如[颠覆(http://subversion.apache.org/),[水银(http://mercurial.selenic.com/),[混帐](HTTP ://git-scm.com/),...)。 – 2013-03-06 14:59:48
这不是一个网站。我的客户有一台没有独立网络功能的旧扫描仪。它扫描文件并将PDF文件放入根目录,我的客户端希望用户扫描的文件进入其主目录而不是普通文件夹。扫描器无法区分用户之间的差异,但它确实提供了命名扫描的选项。我指示每个人在他们的名字和批次之后命名他们的扫描以进行组织。唯一的问题是当前代码移动PDF,但是如果存在相同的命名PDF,则覆盖。 – Brandon 2013-03-06 15:14:13