通过批处理for及通配符选择性复制文件的问题。 20
我倒,晕。。回答者居然说我刨根问底,没事找事。我这也是业务需求,没办法,而且批处理虽然有点不同,不可能没办法处理这种逻辑。哈哈,终于实验出来了,不用百度了。。。...
我倒,晕。。回答者 居然说我刨根问底,没事找事。我这也是业务需求,没办法,而且批处理虽然有点不同,不可能没办法处理这种逻辑。哈哈,终于实验出来了,不用百度了。。。
展开
1个回答
展开全部
批处理脚本,在遇到含有空格活其他特殊字符的时候,应当使用双引号进行处理:
这里先定义一个字符变量,用来存储特殊的 文件名字符:
set "str=new "
在 for 语句中 %%i 括号中 则这样引用:
for %%i in ("f:\t\!str!2") do (...)
这里使用变量延迟扩展 !
前面必须加上 setlocal enabledelayedexpansion 语句
中国批处理脚本联盟
更多追问追答
追问
按资料说,空格是需要加引号。但是你的写法我也执行不过啊。
而且我原本的想法是通过 for和通配符 来识别以 new开头,某个数字结尾,中间不确定的文件,并复制。
追答
@echo off & setlocal enabledelayedexpansion
set paths=d:\
dEL $ & >>$ (for %%a in (*.x) do echo %%a)
for /f "delims=" %%a in ($) do (
set/a step+=1 & echo [!step!] %%a)
echo.& set/p file=请输入复制的文件号:
set step=
for /f "delims=" %%a in ($) do (
set/a step+=1
if !step! equ !file! (copy /y "%%a" "!paths!"))
dEL $ & exit
:: 中国批处理脚本联盟
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询