标题: [文件操作] xcopy命令复制文件时改名,提示是文件还是目录?如何不提示? [打印本页]
作者: kmustwxw 时间: 2015-1-14 12:13 标题: xcopy命令复制文件时改名,提示是文件还是目录?如何不提示?
代码如下:- @echo off&setlocal enabledelayedexpansion
- set var=0
- for /f %%i in ('dir /b *.jpg') do (
- set/a var+=1
- f | xcopy %%i D:\文件夹\图片!var!.jpg
- )
- passe
复制代码
问题:1、为何加上 f | xcopy …… 会一闪而过,不加 “ f |”时,每次都要确认。我本来是想不用每次都输入 f 意思是文件。在网上也查了好多,没有解决。
2、加上pause依然一闪而过,我想看出错信息,如何不让窗口运行后暂停,以前我看到过namejm写的,好像可以在代码的最后加上一句,可以暂停,现在现不起来了。求帮助,谢谢先。
作者: DAIC 时间: 2015-1-14 13:14
本帖最后由 DAIC 于 2015-1-14 13:15 编辑
- @echo off
- setlocal enabledelayedexpansion
- set var=0
- for /f "delims=" %%i in ('dir /b *.txt') do (
- set /a var+=1
- copy "%%i" "D:\文件夹\图片!var!.jpg"
- )
- pause
复制代码
作者: DAIC 时间: 2015-1-14 13:16
你的代码里面拼写错误,应该是pause而不是passe
作者: kmustwxw 时间: 2015-1-14 14:16
本帖最后由 kmustwxw 于 2015-1-14 14:18 编辑
嗯嗯,不好意思,上面的代码是我复制到发帖的时候编辑的时候打错的,bat文件中的是正确的,我看到你写代码和我上面的有些不同:in ('dir /b *.txt') 应该是jpg,其实我写的代码主要是为了测试xcopy在复制时命名的,然后窗口会提示问 图片!var!.jpg是文件还是目录?我想用管道符后,就不用每次都输入f了,但是我加上F和管道符后就会一闪而过,就算加上pause也一样,然后又回到我上面的问题了,谢谢你帮我看看。
作者: DAIC 时间: 2015-1-14 14:22
回复 4# kmustwxw
2楼用的是copy而不是xcopy,你再试试。
作者: DAIC 时间: 2015-1-14 14:23
你一定要用xcopy的话应该这样:
echo f | xcopy %%i D:\文件夹\图片!var!.jpg
作者: kmustwxw 时间: 2015-1-14 15:25
本帖最后由 kmustwxw 于 2015-1-14 15:33 编辑
回复 6# DAIC 嗯嗯,我好像有点明白了,知道不应该只加f 而应该加上echo .谢谢你,我的第二个问题,能帮我看下吗?就是一闪而过的问题,有时候代码有问题,但是一闪过了,就不太好找错误在哪里。
作者: DAIC 时间: 2015-1-14 16:59
回复 7# kmustwxw
一闪而过大部分是因为代码存在语法错误,还没有执行到pause那一行的时候就已经异常退出了。
解决方法:
在你刚写完脚本的时候,不要双击执行它。打开一个CMD窗口,执行脚本。确定没有问题之后,再试试双击执行。
作者: kmustwxw 时间: 2015-1-14 17:03
回复 8# DAIC 非常感谢。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |