查看单个帖子
xclimbing
 
xclimbing 的头像
高级会员
 
资 料:
注册日期: Jan 2019
帖子: 832 声望值: 0
精华: 0,解答: 14
#16 旧 2020-03-27, 19:03:06 默认
xclimbing 当前离线  

引用:
作者: wxh5 查看帖子
再次请教

[CODE]@echo off

:: 下面两个路径为绝对路径
set Apath=11111111111111111
set Bpath=22222222222222222
set EE=.pdf

pushd "%Apath%"
for /f "tokens=* delims=" %%i in ('d...
@wxh5 没看太明白,你能不能举一个实例?我理解是这样:

1、首先绝对路径是指带盘符的路径,例如:d:\11111,类似:\11111就不是绝对路径。
2、假设Apath下有一个123456.pdf文件,你的要求是不是:在Bpath下假设存在一个:xxxxxx123456的文件夹,那么这个pdf文件就移动到这个目录下,你保证这个目录是唯一的。如果不存在这个目录,是否需要创建目录,或者不移动文件。

假设不存在对应目录,就不移动文件,代码如下(本地实验过了,基本上是成功的):


@echo off & setlocal ENABLEDELAYEDEXPANSION
:: 下面两个路径为绝对路径
set Apath=e:\temp
set Bpath=e:\temp\DwnlData
set EE=.zip

pushd %Apath%
for /f "tokens=* delims=" %%i in ('dir /a-d/b *%EE%') do (
echo "%%i"
for /f "tokens=* delims=" %%d in ('dir /ad/b %Bpath%') do (
set dd=%%d
echo [!dd!] [!dd:~6!]
if "%%~ni"=="!dd:~6!" move /y "%%i" "%Bpath%\%%d\" ))

::if not exist "%Bpath%\%%~ni" (md "%Bpath%\%%~ni")
::move /y "%%i" "%Bpath%\%%~ni\" )
popd
回复时引用此帖