首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
在命令提示符(cmd)中输入:for
/f
%i
in
('dir
"d:\pcdesktop\*.jpg"
/s
/b')
do
copy
"%i"
"f:\hello"
rem
我这里的指定文件夹为
"f:\hello",一定要确保指定文件夹是存在的
如果在.bat脚本中输入,会有如下改变:
for
/f
%%i
in
('dir
"d:\pcdesktop\*.jpg"
/s
/b')
do
copy
"%%i"
"f:\hello"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)