需求:
用某文件夹下的文件替换另一文件夹下(包含子目录)的文件。
对用户输入的文件路径做判断,如果为空则报错,如果路径不存在则报错。
如果文件为空则报错。如果输入的路径正确且文件夹下不为空则替换到另一文件夹下,在替换完毕后提示从哪个目录下替换了多少个文件到目的目录。
基本的替换工作完成了,但是对判断那块不成功:
@echo off
:input
set /p Newfilepath=请输入新文件的路径(支持文件夹拖放):
set "Newfilepath=%Newfilepath:"=%" //这句替换",是为了防止文件夹名中包含空格情况下,用鼠标拖的时候会产生"
set /p Reppath=请输入被替换文件的路径(支持文件夹拖放):
set "Reppath=%Reppath:"=%"
if "%Newfilepath%"=="请输入新文件的路径(支持文件夹拖放):" goto err
//此句是为了判断如果输入为空的情况
if "%Reppath%"=="请输入被替换文件的路径(支持文件夹拖放):" goto err
if not exist "%Newfilepath%" goto input
if not exist "%Reppath%" goto input
set n=0
for /f "delims=" %%a in ('dir/a/s/b "%Newfilepath%" ') do (
set n+=1
for /f "delims=" %%c in ('dir/ad/s/b ""%Reppath%"') do (
xcopy /y "%%a" "%%c"
goto Congra
)
)
:Congra
echo 恭喜您,%Newfilepath%下的!n!个文件已经替换到"%Reppath%
:err
echo 您未输入路径,请按键选择:
echo 1 重新输入文件路径
echo 2 退出
set choice=默认2
set /P choice=选择1,2继续(直接回车默认选择2)
if /i '%choice%'=='1' goto 1
if /i '%choice%'=='2' goto 2
if /i '%choice%'=='默认2' goto 2
:2
exit
麻烦帮忙完善下!谢谢!
用某文件夹下的文件替换另一文件夹下(包含子目录)的文件。
对用户输入的文件路径做判断,如果为空则报错,如果路径不存在则报错。
如果文件为空则报错。如果输入的路径正确且文件夹下不为空则替换到另一文件夹下,在替换完毕后提示从哪个目录下替换了多少个文件到目的目录。
基本的替换工作完成了,但是对判断那块不成功:
@echo off
:input
set /p Newfilepath=请输入新文件的路径(支持文件夹拖放):
set "Newfilepath=%Newfilepath:"=%" //这句替换",是为了防止文件夹名中包含空格情况下,用鼠标拖的时候会产生"
set /p Reppath=请输入被替换文件的路径(支持文件夹拖放):
set "Reppath=%Reppath:"=%"
if "%Newfilepath%"=="请输入新文件的路径(支持文件夹拖放):" goto err
//此句是为了判断如果输入为空的情况
if "%Reppath%"=="请输入被替换文件的路径(支持文件夹拖放):" goto err
if not exist "%Newfilepath%" goto input
if not exist "%Reppath%" goto input
set n=0
for /f "delims=" %%a in ('dir/a/s/b "%Newfilepath%" ') do (
set n+=1
for /f "delims=" %%c in ('dir/ad/s/b ""%Reppath%"') do (
xcopy /y "%%a" "%%c"
goto Congra
)
)
:Congra
echo 恭喜您,%Newfilepath%下的!n!个文件已经替换到"%Reppath%
:err
echo 您未输入路径,请按键选择:
echo 1 重新输入文件路径
echo 2 退出
set choice=默认2
set /P choice=选择1,2继续(直接回车默认选择2)
if /i '%choice%'=='1' goto 1
if /i '%choice%'=='2' goto 2
if /i '%choice%'=='默认2' goto 2
:2
exit
麻烦帮忙完善下!谢谢!
