![]() 终极会员
|
工作上用的,要求比较简单,但批处理只会用COPY之类的,所以不会
从A目录移动文件至B目录下的同名目录,A目录的所有文件肯定在B目录下有同名的目录存在,只需要移过去就行 :blush; |
||
![]() 感谢ccf |
![]() |
![]() |
|
引用:
从你贴出的运行结果看,基本上可以判断,你没有照抄我的批处理,你把我批处理的第一句给漏了。也就是@echo off那一行,在这一行后面加了一句:& setlocal ....,这是至关重要的一个设置。 |
![]() 高级会员
|
我6楼的程序只有一个小bug,就是move /y后面少了一个空格。
刚才在本地测试了一下,运行十分完美啊,比你后面发的那个批处理显得高大上多了。 代码:
@echo off :: 下面两个路径为绝对路径 set Apath=D:\Downloads set Bpath=D:\Downloads\DwnlData set EE=.zip pushd %Apath% for /f "tokens=* delims=" %%i in ('dir /a-d/b *%EE%') do ( echo "%%i" if not exist "%Bpath%\%%~ni" (md "%Bpath%\%%~ni") move /y "%%i" "%Bpath%\%%~ni\" ) popd |
||
![]() |
![]() 终极会员
|
再次请教
代码:
@echo off :: 下面两个路径为绝对路径 set Apath=11111111111111111 set Bpath=22222222222222222 set EE=.pdf pushd "%Apath%" for /f "tokens=* delims=" %%i in ('dir /a-d/b *%EE%') do ( echo "%%i" if not exist "%Bpath%\%%~ni" (md "%Bpath%\%%~ni") move /y "%%i" "%Bpath%\%%~ni\" ) popd 这是上次的能用的代码,现在想实现一个功能,想忽略目录前6位,然后依照6位以后的全部名称,和PDF的名称对比,一致的话,就移动PDF至这个目录,能保证肯定是一个目录对应一个PDF的 |
||
![]() |