BAT批处理在指定的文件夹内搜索文件名并复制到U盘!

如题!假如在这个(个人)文件夹内搜索(O1540.NC)的文件,并复制到U盘内!在指定文件内搜索!... 如题!假如在这个(个人)文件夹内搜索(O1540.NC)的文件,并复制到U盘内!
在指定文件内搜索!
展开
 我来答
依梦琴瑶
高粉答主

2018-11-17 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@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前面不小心多写了一个小数点,请自行删除。
变会片6225
2018-11-17 · TA获得超过165个赞
知道小有建树答主
回答量:441
采纳率:34%
帮助的人:67.9万
展开全部
@echo offcopy "D:\123\abc.mdb" "E:\456\abc%date:~,4%年%date:~5,2%月%date:~8,2%日.mdb"pause 这个代码要求很简单。
追问
可以像图中的自己输入文件名搜索吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式