[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 紧急求助批处理复制一定规律的文件名

我在001文件夹下有好几个中间有“-”的文件,但是我只想copy 某种按照一定规律为文件名的,比如:
aa-BB
df-DF
abd-c023k9.dat
我只想copy xx_XX的这种文件,应该怎么写呀, 我的好像没生效,但是也没报错。。。
  1. echo
  2. 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 )
  3. pause
复制代码

  1. copy /y c:\001\??-?? c:\aaa\
复制代码
bat不支持 [a-z]通配符,powershell 才支持.
微信:flashercs
QQ:49908356

TOP

  1. @echo off
  2. set lower=abcdefghijklmnopqrstuvwxyz
  3. set upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
  4. cd /d "C:\001"
  5. for /f "delims=" %%i in ('dir /b /a-d^|findstr /b "[%lower%][%lower%]-[%upper%][%upper%]\."') do (
  6.     copy /y "%%i" "C:\aaa"
  7. )
  8. pause
复制代码

TOP

回复 3# qixiaobin0715


   谢谢你,但是我运行了,没有被copy过去欸.....

TOP

回复 4# kiwicola
1.你的目标文件无扩展名?
2.将批处理文件用记事本打开,另存为ANSI编码,再运行试试;
3.代码运行后有无报错信息?如果有的话发上来看看。

TOP

@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"

TOP

再精确点儿...
@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"

TOP

:: 再改善一步...
@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")

TOP

返回列表