xcopy 实现批处理拷贝文件或文件夹
xcopy 是一个很有用的 doc 命令, 应该学习学习!
可以用 xcopy 实现, 例如:
C:>xcopy C:\ppt*.* D:\ppt\ /s /e/y /i /q
这条命令的意思就是把 C 盘下的 PPT 文件夹全部拷贝到 D 盘
说明:
/y:不弹出“确认是否覆写已存在目标文件”的提示
/s /e : 参数的作用分别是把子目录和空目录都复制过去,
/e:复制文件及子文件夹内所有内容,包括空文件夹(对比 /s, /s 不复制空文件夹)
/i:如果 b 不存在并且复制超过一个文件则默认 b 是目录名
/q:quiet,静默模式
其他详细参数说明请参考这里
那么,用我们的设计器该怎样实现呢?
首先,模拟键盘快捷键操作,打开 ‘运行窗口’
win + r
其次,通过设置文本 + 热键输入,进入命令提示符窗口(cmd)
然后,通过键盘输入的方式将预设的信息写入 cmd 窗口,通过热键输入方式点击回车
接下来才是重点,关于 copy 命令,我已将其修改为全局函数模式,可直接复制使用
代码如下
import time
from ubpa.ilog import ILog
from ubpa.baseimg import*
import ubpa.ikeyboard as ikeyboard
def xcopy(file_path,copy_path):
'''
file_path:源文件路径
copy_path:目标路径
'''
# 代码块
#file_path = r'F:\bank\pic20180823'
file_path = file_path
copy_path = copy_path
# 热键输入
ikeyboard.key_send_cs(text='#r',waitfor=10)
# 键盘输入
ikeyboard.key_send_cs(win_title=r'运行',text='cmd',waitfor=10)
# 热键输入
ikeyboard.key_send_cs(text='{ENTER}',waitfor=10)
# 代码块
info = 'xcopy ' + file_path + '\*.*' + r' ' + copy_path + '\ /y /e /i /q'
# 键盘输入
time.sleep(2)
ikeyboard.key_send_cs(win_title=r'C:\WINDOWS\system32\cmd.exe',text=info,waitfor=10)
# 热键输入
time.sleep(2)
ikeyboard.key_send_cs(text='{ENTER}',waitfor=10)
这里需要传入的参数就只有两个了
filepath: 源文件路径
copypath:目标路径
不错,继续分享
这种形式好,又利于学习,不太会代码得也可以直接拿来用😂😂