Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理脚本以查找文件并重命名它_Batch File_Cmd_Batch Rename_Windows Console - Fatal编程技术网

Batch file 批处理脚本以查找文件并重命名它

Batch file 批处理脚本以查找文件并重命名它,batch-file,cmd,batch-rename,windows-console,Batch File,Cmd,Batch Rename,Windows Console,需要一个批处理脚本,该脚本递归地在整个C:驱动器中按文件名搜索特定文件,然后重命名该文件 这就是我目前所拥有的。它似乎找到了该文件,但没有重命名它 @echo off for /r "delims=" %%i in ('dir /s /b /a-d "C:\test.pdf"') do (ren "%%i" test2.pdf) Windows Server 2003及更高版本(即Windows XP 32位之后的任何版本)提供了where.exe,它匹配所有类型的文件。 它甚至可以接受通配

需要一个批处理脚本,该脚本递归地在整个C:驱动器中按文件名搜索特定文件,然后重命名该文件

这就是我目前所拥有的。它似乎找到了该文件,但没有重命名它

@echo off

for /r "delims=" %%i in ('dir /s /b /a-d "C:\test.pdf"') do (ren "%%i" test2.pdf)

Windows Server 2003及更高版本(即Windows XP 32位之后的任何版本)提供了
where.exe
,它匹配所有类型的文件。 它甚至可以接受通配符。 请尝试
where/?
以获取帮助

@echo off
setlocal enableDelayedExpansion
Set Location=C:\
Set PatternName=test.pdf
for /f "delims=" %%F in ('Where /R %Location% /F %PatternName%') do (
    set MyFilename=%%F 
    ren !MyFilename! "test2.pdf"
)
pause
可能重复的
for/F“delims=“%%i in('dir/s/b/a-d“C:\test.pdf“'))do…
而不是
for/r