搜索部分文件夹名称并返回dir以与批处理一起使用

时间:2016-04-11 21:09:04

标签: batch-file search directory find filepath

首先,我仍然是脚本编写的初学者,所以请保持温和。 我正在创建一个备份脚本,我希望能够在网络中搜索文件名的一部分(位于联网的外部硬盘上用于备份),然后返回目录以便稍后用于备份USB的内容设备。 我正在搜索的文件夹名称由4个元素组成,如下所示:Date-1234567-Type-User。 我想要搜索的部分是7位数的id号,它是唯一的,因为其他元素可能被复制很多次。 我一直在使用的当前脚本没有返回它找不到文件的任何内容,有人指出我正确的方向我的脚本如下,我也在Windows 7上工作。

@echo off
:start

set /p path=enter id no.:
for /r %%# in (.) do (
       Echo %%~nx# | find "string" "%path%" 1>NUL && (
               Echo Full Path: %%~nx#
               Echo Filename : %%~nx#
               Echo Directory: %%~p#
       )
)

if defined p (
echo %p%
) else ( Echo file not found
)
pause
goto backup

:backup
if not exist "%p%"\"usb download" md "%p%"\"usb download"

if exist (
xcopy /y "USB" "%p%"\usb download
)

pause
goto start

Xcopy行自己创建一个新文件夹并复制内容但是我必须手动编写完整的文件路径,这是相当广泛和费力的,所以如果我可以自动化这将有助于显着。 我提前感谢你的帮助,我用Google搜索并搜索我的心脏,但正如我所说,我是一个初学者,我的大脑正在融化。 谢谢大家。

1 个答案:

答案 0 :(得分:2)

for /f "delims=" %A in ('dir /ad /b /s z:\*1234567*') do echo %A

这应该找到它。