标题: [文件操作] 紧急求助批处理复制一定规律的文件名 [打印本页]
作者: kiwicola 时间: 2022-8-17 13:45 标题: 紧急求助批处理复制一定规律的文件名
我在001文件夹下有好几个中间有“-”的文件,但是我只想copy 某种按照一定规律为文件名的,比如:
aa-BB
df-DF
abd-c023k9.dat
我只想copy xx_XX的这种文件,应该怎么写呀, 我的好像没生效,但是也没报错。。。- echo
- if exist C:\001\[a-z][a-z]-[A-Z][A-Z] ( copy C:\001\[a-z][a-z]-[A-Z][A-Z] C:\aaa /y )
- pause
复制代码
作者: flashercs 时间: 2022-8-17 14:08
- copy /y c:\001\??-?? c:\aaa\
复制代码
bat不支持 [a-z]通配符,powershell 才支持.
作者: qixiaobin0715 时间: 2022-8-17 14:09
- @echo off
- set lower=abcdefghijklmnopqrstuvwxyz
- set upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
- cd /d "C:\001"
- for /f "delims=" %%i in ('dir /b /a-d^|findstr /b "[%lower%][%lower%]-[%upper%][%upper%]\."') do (
- copy /y "%%i" "C:\aaa"
- )
- pause
复制代码
作者: kiwicola 时间: 2022-8-17 14:18
回复 3# qixiaobin0715
谢谢你,但是我运行了,没有被copy过去欸.....
作者: qixiaobin0715 时间: 2022-8-17 16:08
回复 4# kiwicola
1.你的目标文件无扩展名?
2.将批处理文件用记事本打开,另存为ANSI编码,再运行试试;
3.代码运行后有无报错信息?如果有的话发上来看看。
作者: aloha20200628 时间: 2022-8-17 18:45
@echo off
cd /d "c:\001"
for /f "delims=" %%F in ('dir/b/a-d *-*.*^|findstr /b "[a-zA-Z][a-zA-Z]\-[a-zA-Z][a-zA-Z]" ') do copy /y "%%F" "c:\aaa"
作者: aloha20200628 时间: 2022-8-17 18:51
再精确点儿...
@echo off
cd /d "c:\001"
for /f "delims=" %%F in ('dir/b/a-d *-*.*^|findstr /b "[a-zA-Z][a-zA-Z]\-[a-zA-Z][a-zA-Z][\.]*" ') do copy /y "%%F" "c:\aaa"
作者: aloha20200628 时间: 2022-8-17 19:15
:: 再改善一步...
@echo off
cd /d "c:\001"
::下式匹配 xx-yy 无扩展名文件
for /f "delims=" %%F in ('dir/b/a-d *-*.*^|findstr /b "[a-zA-Z][a-zA-Z]\-[a-zA-Z][a-zA-Z]$" ') do (copy /y "%%F" "c:\aaa")
::下式匹配 xx-yy.* 有扩展名文件
for /f "delims=" %%F in ('dir/b/a-d *-*.*^|findstr /b "[a-zA-Z][a-zA-Z]\-[a-zA-Z][a-zA-Z][\.]" ') do (copy /y "%%F" "c:\aaa")
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |