作者tsaiminghan (nahgnimiast)
看板EZsoft
标题[请益] windows powershell copyhere
时间Sun Aug 23 15:54:30 2020
我使用powershell写script把电脑里的档案复制到手机中
现在有个问题copyhere的命令是异步的,所以script本身
必须自己想办法等到命令完成後,才可以结束,
网路上有个简单的方法,就是去手机中看档案存不存在,
不过这个方法碰到档案已存在时,会有问题
我目前想到的是复制先把档案删了。不知还没有没其它
更好的方式?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.136.87.47 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/EZsoft/M.1598169273.A.14B.html
1F:→ spfy: 检测写入时间 PS印象用的是.NET吧 有这方法 08/23 16:52
好像不行
mtp(Media Transfer Protocol)抓出来的ModifyDate,看起来不正确。
Application : System.__ComObject
Parent : System.__ComObject
Name : puty.reg
Path :
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\?\usb
#vid_18d1&pid_4e
e1
#91ay173c7#{6ac27878-a6fa-4155-ba85-f98f491d4f33}\SID-{10001,,
55387860992}\{83545B5A-0000-0000-0000-000000000000}\{0343B42F-00
00-0000-0000-000000000000}
GetLink :
GetFolder :
IsLink : False
IsFolder : False
IsFileSystem : False
IsBrowsable : False
ModifyDate : 1899/12/30 0:00:00
Size : 0
Type : 登录项目
※ 编辑: tsaiminghan (220.136.104.36 台湾), 08/23/2020 20:31:49
3F:→ cancelpc: 为何不用 .net 里现成的 复制档案 函式 08/24 07:29
因为我的程式是script,想说可以写powershell script
另外就是MTP的话,好像不能用Copy
5F:→ spfy: 虽然不太懂PS 但它好像只是和.NET共用CLR 实际语法不太一样 08/24 09:23
6F:→ spfy: 检测日期不行的话试试看每次复制的时候建立一个空白文字档 08/24 09:24
7F:→ spfy: 档名用复制日期 以後每次都检测该档名的日期? 08/24 09:25
8F:→ spfy: 虽然感觉直接删除後复制比较简单 但应该时间会长很多吧... 08/24 09:26
powershell的delete操作,会跳出视窗,
每次复制时都会跳出删除视窗实在是怪怪的
最後还是直接sleep 2秒,让人有时间去按
取代档案的视窗。
加日期的话,还要删掉原来的档案,也是麻
烦(主要是会跳视窗)
※ 编辑: tsaiminghan (220.136.103.151 台湾), 08/24/2020 10:44:38
9F:→ enthos: blog.daiyanyingyu.uk/2018/03/20/powershell-mtp/ 08/24 10:25
谢谢
这篇我看过了,我写的script就是参考它的,但是它是
把档案从手机中复制出来,而且档案存在就跳过,没办
法解决我的问题
※ 编辑: tsaiminghan (220.136.109.72 台湾), 08/24/2020 17:00:49
10F:推 cancelpc: 顶多复制前先检查先删,况这函式记得有参数是可以直接覆 08/26 19:11
11F:→ cancelpc: 盖 08/26 19:11
12F:→ cancelpc: 删除也用 .net 就不会跳出视窗,还有视窗的几乎都是shel 08/26 19:12
13F:→ cancelpc: l层级提供的函式 08/26 19:12
14F:推 cancelpc: System.IO.File.Copy(s, destFile, true);第3个参数就是 08/26 19:14
15F:→ cancelpc: 要不要直接覆盖存在的档 08/26 19:15
16F:→ cancelpc: 直接全用 .net fx 的,不要跟 OS shell 层级混用 08/26 19:15
谢谢
或许用net可以达到,不过用net,放的就是exe,我是希望尽量
不要放binary
※ 编辑: tsaiminghan (220.136.106.68 台湾), 08/28/2020 19:59:01
17F:推 cancelpc: 我指的是用 .net fx 的 lib 08/30 01:28