通过批处理for及通配符选择性复制文件的问题。 20

我倒,晕。。回答者居然说我刨根问底,没事找事。我这也是业务需求,没办法,而且批处理虽然有点不同,不可能没办法处理这种逻辑。哈哈,终于实验出来了,不用百度了。。。... 我倒,晕。。回答者 居然说我刨根问底,没事找事。我这也是业务需求,没办法,而且批处理虽然有点不同,不可能没办法处理这种逻辑。哈哈,终于实验出来了,不用百度了。。。 展开
 我来答
GAGATOSHUT
2016-07-06 · TA获得超过3460个赞
知道小有建树答主
回答量:645
采纳率:50%
帮助的人:256万
展开全部

批处理脚本,在遇到含有空格活其他特殊字符的时候,应当使用双引号进行处理:

这里先定义一个字符变量,用来存储特殊的 文件名字符:

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


:: 中国批处理脚本联盟
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式