• 瀏覽: 5,047
  • 回覆: 16
+2
引用:
原帖由 alee001 於 2022-8-1 22:41 發表
請問有冇人識係下面batch開每個file之間做0.5s延遲,試過用sleep或timeout都唔work?@echo off
setlocal EnableDelayedExpansion
set "excel=C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE"
for %%a in (
"C:\Use ...
本來想post段code, 不過受到如此招待: 
        Sorry, you have been blocked
        You are unable to access discuss.com.hk



start "" /wait /min /realtime mshta "xxxxxxx:setTimeout(function(){close();},500)"

xxxxxxx = javascript

[ 本帖最後由 111x111=12321 於 2022-8-2 03:52 編輯 ]



Sync or async, 是一個很麻煩的題目.
從原理上解決, 要選擇正確.
但兩者不同 Tool sets / algorithm

用錯排隊, 慢, 自廢武功, 甚至不可行. (1st job 係唔會end)
一齊上, 包撞, 平時要間開半秒, 但你保證你os/av唔會忽然upgrade/查野, 又偷你資源?????

[ 本帖最後由 111x111=12321 於 2022-8-2 14:45 編輯 ]



timeout.exe 是 Windows內置.

況且上面有討論, 想set半秒, 唔得.
Ping一樣是整數秒.



[隱藏]
引用:
原帖由 alee001 於 2022-8-3 15:48 發表
其實loop少嘢係冇問題出現,但係多嘢如十幾廿個開就出事,好多時仲唔係順序開app。


問過MS話開Excel程序檔都須時,建議我開多個app之間delay,但實際係唔work。如果每個delay 1s廿個都19s,咁耐時間用batch都冇意思?
MS門高狗大, 你點問法?



引用:
原帖由 alee001 於 2022-8-3 16:53 發表

佢哋各種產品都有官網技術程式討論區,當然未必一定係官方人員答你,但答得都係高手…有時問得太簡單都冇人回。
我無主動問過.
有幾次有問題我Search過, 不知道會不會得出同一討論區,
但經驗都令人失望.

一係直接無答案、一係開枝散葉唔知去左邊.



引用:
原帖由 煙民母親生賤種 於 2022-8-4 03:48 發表

start 係另一個 process 開。當然唔順序啦, 亦唔會跟你個 timeout。點解唔直接 %excel% .... 咁開?
你似乎未消化好、不明白樓主問題.
用start, 仍然是「順序開始」每一句, 那麼每一個process都是順序「開始」.
只不過開完, 都同時run, 而第一個process可能行得慢, 後來的可以爬頭, 才後來表現成「唔順序」.

以我經驗及理解, e.g. Process有可能快閃用同一個temp file name, 不加delay會撞死.  (開同一個file)


至於「直接 %excel% .... 咁開」, 兩個問題,
1. 規矩上user是不知道%excel% exact path
2. Line 1 %excel% 行左, 要等user做完, quit excel, 才去到 line 2..... 不符要求, 沒有"run all"

[ 本帖最後由 111x111=12321 於 2022-8-4 10:46 編輯 ]



引用:
原帖由 alee001 於 2022-8-4 11:50 發表

用run到試過更加work,唔可以獨立開晒file。

其實單一開Excel app除咗程序檔外,都會有其add-in會同時開啟,但loop一多經常就會撞,如下圖:

過到 ...
//e.g. Process有可能快閃用同一個temp file name

ANALYS32.XLL 很可能便是該快閃File, 一刻間exclusively / lock一lock, 而撞.



引用:
原帖由 alee001 於 2022-8-4 13:48 發表

ANALYS32.XLL唔係temp檔係VBA模組檔,開啟後會長駐應用,或許唔可以同一時間run就真?

曾問過MS點解同時開啟app之間冇援沖或機制避免程序檔錯誤,冇人解冇人知?可能少人(似我)咁用唔當問題又或者係app本身嘅限制?
ANALYS32.XLL 當然唔係temp檔, 你誤會了.



[隱藏]
你兩個走向「根本性解決問題」, 但未有妥當清晰的「問題描述、定義」,
這方向正在越跑越宏大.

另一個方向是實務性,「解決到就算」, 樓主早期材料顯示, 調節delay是方法, 想向<1s 進軍, 於是開帖.


兩回事, 兩個方向.
都不是在埋單方向進行.

[ 本帖最後由 111x111=12321 於 2022-8-4 22:57 編輯 ]



引用:
原帖由 form5 於 2022-8-4 23:07 發表

假如開遲一兩秒就解決,我真係吾覺得係問題
這是樓主的疑點.

他是向<1sec進發的, 雖然比較少人集中這點, 很快被忽略.
但「向<1sec進發」暗示 1sec 其實workable, 只想效率高些.....

但忽略<1sec後的焦點, 一直圍繞著「什樣才不相撞: Workable呢?」.
究竟>=1sec, 是否workable呢? 是疑點.



//假如開遲一兩秒就解決,我真係吾覺得係問題

所以樓主維持用batch, 不想搞大.



引用:
原帖由 alee001 於 2022-8-4 23:04 發表
多謝各位建議,其實如果真係行到delay入batch,我都唔知實際係咪可以解決開app之間嘅error?,因為呢個方法都係MS建議我試下…
//Delay....我都唔知實際係咪可以解決開app之間嘅error?
這是基礎前提, 你忽略了它的重要性.
之後幾個都是無效的焦點.

//呢個方法都係MS建議我試下
重複引證我對「MS問題的解答」的不好印象, 無效+無效率.
MS網上Q&A, 有搵笨的感覺.



引用:
原帖由 form5 於 2022-8-5 00:54 發表

算吧啦,晒氣,寫batch 真係冇乜興趣,我仲以為關ANALYS32 事
各人興趣不同.

某角度而言, 是關ANALYS32的事,
起碼 Win+analys32.xll 配合起來, 不是multiuser可同時開啟調用.



[隱藏]
引用:
原帖由 form5 於 2022-8-5 01:11 發表

你當addin pass 入去excel argument 吾得咩?
或者中間做個addin 然後用個global mutex , manage 其他 addin 先後秩序,吾得咩?
看不懂,
理論上寫code/batch的人, 是不知道analys32.xll的, 加啥,
只不過有runtime error, 意外暴光了.



鍵盤翻頁
左右
[按此隱藏 Google 建議的相符內容]