不太明白你的意思,如果你的批处理跟那个文件夹不在同一盘符下的话,那你就只能用绝对路径,那样的话,就必然要用到盘符,如果是能确定相对路径的话,那直接用一句命令就可以实现复制
copy *.bat 路径\001
这样就可以了,用通配符就能实现,不需要用for来循环
先说说我看到你的问题的理解:
首先 ,当前目录有很多文件,其中部分是.bat文件。
然后,你的某一个分区(不确定)下面由一个000\001文件夹。
你需要把当前目录下的所有.bat拷贝到盘符不确定的000\001文件夹里。
如果我的理解没错,请确认一下。
看看这个是否是你需要的.(修改)
@echo off
for %%a in (c d e f g h i j k l n o p q r s t u v w x y z) do (
if exist %%a:\ (
for /f "tokens=*" %%i in ('dir /ad /s /b %%a:\001') do (
copy *.bat "%%i\"
)
)
)
@echo off
md c:\mubiao 2>nul
for /r d:\ %%i in (*.bat) do if exist "c:\mubiao\%%~nxi" (copy "%%i" "c:\mubiao\d_%%~nxi") else (copy "%%i" c:\mubiao)
pause
针对当前文件夹我没有办法,我用的是路径的办法,把该路径的文件夹下的所有后缀名为bat的文件转移到c:\mubiao
for /f "tokens=*" %%i in ('dir /b *.bat') do (
copy "%%i" "000\001"
)
这样就可以了