在批处理中的两个小问题

@echoonmodeconcols=110lines=35&color9ftitleControledByDebbieclsecho.echo程序正在初始化...ech... @echo on
mode con cols=110 lines=35 &color 9f
title Controled By Debbie
cls
echo.
echo 程序正在初始化. . .
echo.
echo ┌──────────────────────────────────────┐
set/p= ■<nul
for /L %%i in (1 1 38) do set /p a=■<nul&ping /n 1 127.0.0.1>nul
echo 100%%
echo └──────────────────────────────────────┘
pause
set /p s=请输入您想要的文件后缀:
echo 完成后会自动打开,请稍候。。。
DIR D:\*.%s% /S >%~dp0数据获取.txt
%~dp0数据获取.txt
IF EXIST D:\数据获取.txt goto 1
IF NOT EXIST D:\数据获取.txt GOTO 2
statr
:1
xcopy D:\*.%s% %~dp0DataReceiver /s /e /q
pause

start
:2
echo.
echo.
echo 您所要的文件并未能列出到列表,请联系技术人员,QQ447569415
echo.
echo.
echo 感谢您的使用,再见!
pause

对于这段命令我有几个问题,
为什么xcopy命令提示的是不能执行循环复制呢?什么叫循环复制,应该怎么修改呢?
对于 if goto命令,为什么运行完第一个goto所含的命令后不会退出,还会执行第二个命令呢?
有没有什么方法可以让xcopy直接复制dir所列出的所有文件,用dir生成txt文本里边的地址呢?
展开
 我来答
落叶l无情
2015-06-28 · TA获得超过1417个赞
知道大有可为答主
回答量:1372
采纳率:0%
帮助的人:1424万
展开全部
1、循环复制就是复制的目标路径包含在源路径当中,比如 xcopy d:\*.txt d:\DataReceiver /s ,由于/s参数,包含子目录,d:\*.txt 包含 d:\DataReceiver\*.txt,这样就会产生无限循环了。这里你可能bat文件放在了d盘,%~dp0表示bat文件所在路径。

2、if goto 只是跳到指定位置执行,然后按顺序向下执行,忽略标号,要想退出,可再加goto命令跳转到最后。
3、可以使用 for %%i in ('D:\数据获取.txt') do xcopy %%i %~dp0DataReceiver /s /e /q 或者直接使用 for %%i in ('DIR D:\*.%s% /s /b') do xcopy %%i %~dp0DataReceiver /s /e /q,未经测试,可能需要一些调整。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式