0
需要一个批处理脚本递归搜索整个C:驱动器通过文件名的特定文件,然后重命名该文件批处理脚本查找文件并重新命名它
这是我到目前为止所。它似乎找到该文件,但它不重命名它。
@echo off
for /r "delims=" %%i in ('dir /s /b /a-d "C:\test.pdf"') do (ren "%%i" test2.pdf)
需要一个批处理脚本递归搜索整个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
的[重命名的目录与Windows批处理脚本中的所有文件]可能的复制(http://stackoverflow.com/questions/9383032/rename-all-files-in-a-directory-with-a -windows-batch-script) – shoover
'for/F“delims =”%% i in('dir/s/b/ad“C:\ test.pdf”')do ...'而不是'for/r' – JosefZ