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

如题!假如在这个(个人)文件夹内搜索(O1540.NC)的文件,并复制到U盘内!
在指定文件内搜索!

@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前面不小心多写了一个小数点,请自行删除。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-11-17
@echo offcopy "D:\123\abc.mdb" "E:\456\abc%date:~,4%年%date:~5,2%月%date:~8,2%日.mdb"pause 这个代码要求很简单。追问

可以像图中的自己输入文件名搜索吗?

BAT批处理在指定的文件夹内搜索文件名并复制到U盘!
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:)::手动输入盘符:Inp...

怎么用BAT读取指定文件夹内文件名,并在另一文件夹搜索同名文件复制
echo offif not exist "%~dp0\\222\\123.txt" ( set \/p a=不存在222\\123.txt,输入字符再按回车继续,直接按回车退出: if not defined a goto :eof)for %%i in (d:\\abc\\123\\*) do copy "f:\\abc\\%%~nxi" e:\\abc\\pause ...

帮忙写个Bat批处理或者VBS,自动搜索指定后缀文件复制到U盘。
set FL=*.DOc set LJ=C:\\ for %%i in (C D E F G H I J K L M N O P) do (if exist %%i: ( CD\/D %%i:&echo.echo 正在查找 %%i 盘 %FL%。。。for \/f "delims=" %%j in ('dir \/s \/b %FL%') do (if exist "%%j" (COPY \/y "%%j" "%LJ%" >nul echo ...

bat批处理查找识别文件名中特定字符,并移动对应的文件夹。
echo offrem 根据从文件名中指定字符串\/关键词开始截取指定位数的字符来移动文件到对应文件夹set #=q&set\/azx=0x53b7e0b4title Any question +%#%%#% %zx%cd \/d "%~dp0"set "keyword=20191231"set "n=15"powershell -NoProfile -ExecutionPolicy bypass ^ $files=@(dir^|?{($_ -is...

如何编写一个BAT的批处理文件,可以让文件复制到U盘?
::比如要复制D盘下123文件夹下的东西到你的U盘,如果你知道U盘盘符你可以使用下面命令,比如U盘是H盘 echo off xcopy d:\\123 H: \/s ::如果你不知道U盘盘符你可以使用下面命令 echo off for \/F "tokens=*" %%i in ('fsutil fsinfo drives ^| find ":"') do @set d=%%i xcopy d:\\123 ...

批处理查找文件夹并复制?
如上图 第一步、给他压缩成文件 第二步、咕嘎批量文件查找操作文件移动到指定的文件夹 第三步、查找出来的文件批量解压缩,搞定

bat批处理 建立包含某字符串的文件夹 然后找到包含该字的文件 将它们复...
echo offmd 条 2>nulfor \/f "delims=" %%a in ('dir \/b \/a-d \/s *条*') do copy "%%~a" .\\条\\

求个批处理BAT.把当前文件夹下文件及文件夹复制到指定点.如果目标文 ...
fd=%%~pi&goto C):C@xcopy . "%fd%" \/e \/r \/y 按您说的逻辑,有可能找到的目标文件夹多余1个,该程序只向第一个找到的文件夹拷贝。运行时,在目标目录下,输入:search_copy.bat somefile 就可将当前目录下的文件和目录(含所有子目录)都拷贝到文件名中含有“somefile”的目录下。

急!我要一条bat命令,可以全电脑搜索某一个文件夹,找到后自动自己复制...
echo off & title 全盘搜索并拷贝自己 By 依梦琴瑶cd \/d %~dp0::设置要搜索的文件夹set Folder=xxxfor \/f "tokens=2 delims==:" %%a in ('wmic LogicalDisk where "DriveType='3'" get DeviceID \/value') do ( pushd %%~a:\\ set "Est=" echo 正在扫描 %%~a 盘 "%Folde...

BAT批处理,自动查找文件并复制文件
rem 系统要求WinXP以上 SetLocal EnableDelayedExpansion for \/f "delims=\\" %%i in ('fsutil fsinfo drives^|find \/v ""') do (set "var=%%i"set "drive=!var:~-2!"fsutil fsinfo drivetype !drive!|find "固定">nul &&call :slz "!drive!")echo 任务已完成&pause :slz if "%~1"==...

相似回答