批处理实例:文件复制辅助批处理


2008年07月25日 星期五 下午 01:47


本批处理实例主要运用了参数的无限传递,即使用shift命令替换参数位置

@echo off&setlocal EnableDelayedExpansion
title 公孙轩辕制作

set b=0
set x=%1
if not defined x echo 打开错误!关闭该窗口然后请将需要复制的文件拖入图标内!&pause&exit
echo   目标文件列表:
:a
set "a=%~1"
if not defined a goto lb
echo %~f1>>%windir%/u.txt
shift /1
goto :a
:lb
for /f "tokens=*" %%i in (%windir%/u.txt) do (
set /a b+=1
echo "%%i"
)
echo 共!b!个文件待复制
set/p "k=请将目标文件夹拖入:"
for /f "tokens=*" %%i in (%windir%/u.txt) do (
set mc=%%~nxi
set "wj=%%i"
call :jc
)
echo 复制完成,按任意键见退出!&pause>nul&exit
:jc
if exist "!k!/!mc!" echo 忽略,存在同名文件!&goto :eof
echo 正在复制!mc!
copy "!wj!" !k!/
goto :eof

 

另外通过这个实例可以做出一个歌曲复制时同步歌词的批处理,请大家自己动手!