pai*_*eha 3 filenames command-line cmd batch-file
首先是我的初学者.我想创建批处理文件来搜索特定文件夹(包括所有它的子文件夹)并复制其中的所有文件,除了那些文件名包含一些特定的字符串,这是我到目前为止
set now=fish
set logDirectory="C:\Users\paiseha\Desktop\bb\"
for /r %logDirectory% %%i IN (*%now%*.*) do (
rem copy process goes here
)
Run Code Online (Sandbox Code Playgroud)
假设我有3个文件
C:\Users\fareast\Desktop\bb\one.txt
C:\Users\fareast\Desktop\bb\twofishtwo.txt
C:\Users\fareast\Desktop\bb\three.txt
Run Code Online (Sandbox Code Playgroud)
所以我只想复制文件one.txt和three.txt,而是只复制第二个,我知道它因为*%now%*.*所以我怎么能把它反转它以反过来做,请帮助我,请提前谢谢
尝试:
@ECHO OFF &setlocal
set "now=fish"
set "logDirectory=C:\Users\paiseha\Desktop\bb"
for /f "delims=" %%a in ('dir /a-d/b/s "%logDirectory%"^|findstr /riv "^.*[\\][^\\]*%now%[^\\]*$"') do (
rem copy process goes here
)
Run Code Online (Sandbox Code Playgroud)
编辑: 该\字符表示为[\\],而不是\\因为在Vista FINDSTR正则表达式如何逃脱一个怪癖\.Vista需要\\\\,但XP和Win 7使用\\.在所有平台上运行的唯一表示是[\\].请参阅Windows FINDSTR命令的未记录的功能和限制是什么?了解更多信息.