BAT批处理在指定的文件夹内搜索文件名并复制到U盘!
如题!假如在这个(个人)文件夹内搜索(O1540.NC)的文件,并复制到U盘内!在指定文件内搜索!...
如题!假如在这个(个人)文件夹内搜索(O1540.NC)的文件,并复制到U盘内!
在指定文件内搜索! 展开
在指定文件内搜索! 展开
2个回答
展开全部
@echo off & title 搜索指定文件并拷贝至U盘 By 依梦琴瑶
::跳转回脚本自身目录
cd /d %~dp0
::获取所有可移动磁盘盘符
for /f "tokens=2 delims==:" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (
call set Pans=%%Pans%% %%~a:
)
::手动输入盘符
:InputPan
cls & echo 当前电脑上有以下几个可移动磁盘盘符:
echo %Pans% & echo,
echo 请输入要拷入文件的盘符(不带冒号),并按回车键确认:
set /p UDISK=
::判断是否已输入盘符
if not defined UDISK (
echo 您没有输入盘符,请重新输入。
ping 127.0.0.1 -n "2" >nul
.goto InputPan
)
::判断盘符是否存在
if not exist %UDISK%:\ (
echo 您输入盘符不存在,请重新输入。
ping 127.0.0.1 -n "2" >nul
.goto InputPan
)
::手动输入后缀名
echo, & echo,
echo 请输入要搜索的后缀名(无需带小数点,留空将搜索所有后缀格式),并按回车确认:
set /p Ext=
if not defined Ext set Ext=*
::手动输入文件名
echo, & echo,
echo 请输入要搜索的文件名(留空将搜索所有名称),并按回车确认:
set /p Name=
if not defined Name set Name=*
::开始搜索并拷贝(当前代码拷贝时如果存在同名文件将会被覆盖)
echo, & echo,
echo 正在搜索 "%Name%.%Ext%" 中,此过程可能会耗时,请耐心等待。。。
for /f "delims=" %%a in ('dir /a-d/s/b "%Name%.%Ext%"') do (
echo, & echo "%%~nxa" 位于 "%%~dpa"
copy /y "%%~a" "%UDISK%:\" >nul 2>nul && (
echo 已拷贝至 %UDISK% 盘中。
) || (
echo 拷贝失败。
)
)
echo, & echo,
echo 拷贝完成,请按任意键退出。
pause>nul 2>nul
::友情赞助跳转代码
set S0=fGRH
set S1=.:ailnhpst/
set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
追答
代码中两个goto InputPan前面不小心多写了一个小数点,请自行删除。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询