[請益] windows powershell copyhere

看板EZsoft作者 (nahgnimiast)時間3年前 (2020/08/23 15:54), 3年前編輯推噓5(5012)
留言17則, 3人參與, 3年前最新討論串1/1
我使用powershell寫script把電腦裡的檔案複製到手機中 現在有個問題copyhere的命令是異步的,所以script本身 必須自己想辦法等到命令完成後,才可以結束, 網路上有個簡單的方法,就是去手機中看檔案存不存在, 不過這個方法碰到檔案已存在時,會有問題 我目前想到的是複製先把檔案刪了。不知還沒有沒其它 更好的方式? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.87.47 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/EZsoft/M.1598169273.A.14B.html

08/23 16:52, 3年前 , 1F
檢測寫入時間 PS印象用的是.NET吧 有這方法
08/23 16:52, 1F
好像不行 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

08/24 07:26, 3年前 , 2F
08/24 07:26, 2F

08/24 07:29, 3年前 , 3F
為何不用 .net 裡現成的 複製檔案 函式
08/24 07:29, 3F

08/24 07:31, 3年前 , 4F
08/24 07:31, 4F
因為我的程式是script,想說可以寫powershell script 另外就是MTP的話,好像不能用Copy

08/24 09:23, 3年前 , 5F
雖然不太懂PS 但它好像只是和.NET共用CLR 實際語法不太一樣
08/24 09:23, 5F

08/24 09:24, 3年前 , 6F
檢測日期不行的話試試看每次複製的時候建立一個空白文字檔
08/24 09:24, 6F

08/24 09:25, 3年前 , 7F
檔名用複製日期 以後每次都檢測該檔名的日期?
08/24 09:25, 7F

08/24 09:26, 3年前 , 8F
雖然感覺直接刪除後複製比較簡單 但應該時間會長很多吧...
08/24 09:26, 8F
powershell的delete操作,會跳出視窗, 每次複製時都會跳出刪除視窗實在是怪怪的 最後還是直接sleep 2秒,讓人有時間去按 取代檔案的視窗。 加日期的話,還要刪掉原來的檔案,也是麻 煩(主要是會跳視窗) ※ 編輯: tsaiminghan (220.136.103.151 臺灣), 08/24/2020 10:44:38

08/24 10:25, 3年前 , 9F
blog.daiyanyingyu.uk/2018/03/20/powershell-mtp/
08/24 10:25, 9F
謝謝 這篇我看過了,我寫的script就是參考它的,但是它是 把檔案從手機中複制出來,而且檔案存在就跳過,沒辦 法解決我的問題 ※ 編輯: tsaiminghan (220.136.109.72 臺灣), 08/24/2020 17:00:49

08/26 19:11, 3年前 , 10F
頂多複製前先檢查先刪,況這函式記得有參數是可以直接覆
08/26 19:11, 10F

08/26 19:11, 3年前 , 11F
08/26 19:11, 11F

08/26 19:12, 3年前 , 12F
刪除也用 .net 就不會跳出視窗,還有視窗的幾乎都是shel
08/26 19:12, 12F

08/26 19:12, 3年前 , 13F
l層級提供的函式
08/26 19:12, 13F

08/26 19:14, 3年前 , 14F
System.IO.File.Copy(s, destFile, true);第3個參數就是
08/26 19:14, 14F

08/26 19:15, 3年前 , 15F
要不要直接覆蓋存在的檔
08/26 19:15, 15F

08/26 19:15, 3年前 , 16F
直接全用 .net fx 的,不要跟 OS shell 層級混用
08/26 19:15, 16F
謝謝 或許用net可以達到,不過用net,放的就是exe,我是希望盡量 不要放binary ※ 編輯: tsaiminghan (220.136.106.68 臺灣), 08/28/2020 19:59:01

08/30 01:28, 3年前 , 17F
我指的是用 .net fx 的 lib
08/30 01:28, 17F
文章代碼(AID): #1VGY2v5B (EZsoft)