[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/04 05:53 / Filesize : 286 KB / Number-of Response : 1062
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

自動化ツールUWSC使いよ集まれ18



1 名前:名無しさん@お腹いっぱい。 [2016/07/30(土) 17:17:29.59 ID:EHKbGb0r0.net]
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
www3.rocketbbs.com/13/bbs.cgi?id=umiumi
www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past

●UWSC - Wikipedia
ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
www.confrage.com/uwsc/
necro.jp/dev/uwsc/
park14.wakwak.com/~simizu/uwsc/fruwsc.html
canal22.org/
big.tm.land.to/handbook/uwsc.htm
www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
izagne.com/uwsc/
scripts.web.fc2.com/
www.nagomi-jp.net/~liners/
nem.symphonic-net.com/uwsct/0610uwsct.html
siromasa.digi2.jp/uwsc/
iriyak.adam.ne.jp/uwsc.html

前スレ 自動化ツールUWSC使いよ集まれ17
potato.2ch.net/test/read.cgi/software/1458731603/

1012 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 19:52:59.23 ID:Yyh24Eex0.net]
>>961
それじゃesc押さなくてもchkimgがtrueになったらスクリプト終了

esc押す以外で抜けられないループなんだからこんなんでいいんじゃね?

while getkeystate(vk_esc)=false
 if chkimg("俺",1,,,,,,IMG_MSK_BGR6)=false
  print "---"
  sleep(0.5)
 endif
wend

1013 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 20:12:43.44 ID:XwmXXZtH0.net]
>>963
いや、俺は俺がどれだけ探しても見つからなくどうしようも無い時にエスケープしたくてだな
俺だって果てのない自分探しにいつかは疲れるからな

1014 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 20:54:30.67 ID:9xN4ZYgP0.net]
>>964
俺でゲシュタルト崩壊しそいになるわ

1015 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 00:14:45.86 ID:Eh01rATB0.net]
>>964
タイムアウト処理をいれればいいじゃん

end=gettime()+10 // 10秒なら
while XXX
if GETTIME()>end then break
wend

タイムアウトの場合に何をするかはお前次第

1016 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 04:16:03.71 ID:+ZTSmRXc0.net]
ループ処理を抜ける方法

任意で抜ける
・ループ関数の条件式にキー入力の判別getkeystate(vk_esc)を入れ、否定文にする
WHILE !GETKEYSTATE(VK_ESC)
WHILE GETKEYSTATE(VK_ESC)=FALSE
・ループの中にキー入力を推した場合の条件式を入れbreakを使う

自動で抜ける
・時間を指定し抜ける
 Timeout = GETTIME() + 10
 WHILE !(GETTIME() > Timeout)
 WEND
・カウント数を指定し抜ける
 FOR i = 1 to 10
 NEXT


ちぃおぼえた

1017 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 21:11:24.62 ID:r2uFaGow0.net]
>>959
だったら「説明出来ないから返事もらえない」とか
わけのわからん正当化をするなボケ

1018 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 21:54:58.35 ID:JS3/Q8FG0.net]
なんやなんや

1019 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 22:28:14.71 ID:6eBh1Tmt0.net]
特定ディレクトリのフォルダ数、ファイル数、データサイズ(KB)を取得したいんだけど何か良い方法ないかな
dir /sの値じゃなくて、仮にD:\を開いてCTRL+A→右クリック→Rのプロパティに表示される値を取得したい
隠しフォルダも検索対象、対象ディレクトリは複数(マイドキュメント、お気に入り、デスクトップとか)

1020 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 22:39:43.93 ID:FyKl5SQ80.net]
>>970
スクリプトでフォルダのプロパティ取得した方が良いんじゃないか
UWSC(自動化ツール)でやるとすごい手間だと思う



1021 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/25(金) 22:52:00.54 ID:6eBh1Tmt0.net]
>>971
やっぱりそうだよなぁ
出来れば全部UWSCだけで完結させたかったけど、別で作ってみるわ

1022 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 00:38:22.22 ID:3CoRVnNt0.net]
>>970

oFso =CreateOLEObj("Scripting.FileSystemObject")
oFolder =oFso.GetFolder("d:\tmp")

print "フォルダ数 : "+oFolder.SubFolders.Count
print "ファイル数 : "+oFolder.Files.Count
print "フォルダサイズ : "+oFolder.Size

希望に添えてるかどうかは判らないけど、こんな感じなら出来るよ

1023 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 03:10:01.99 ID:6+zLlKX90.net]
>>973
ありがとう
ただ、サブフォルダも含めて取得したいんだ

UserProfile = TRIM( DOSCMD("echo %USERPROFILE%"))

SetDir1 = UserProfile + "\Contacts"
SetDir2 = UserProfile + "\Favorites"
SetDir3 = UserProfile + "\Downloads"
SetDir4 = UserProfile + "\Desktop"
SetDir5 = "D:\"

DIM Target[] = "アドレス帳","お気に入り","ダウンロード","デスクトップ","Dドライブ"

DIM Dir[] = SetDir1, SetDir2, SetDir3, SetDir4, SetDir5

PsCmd = "(Get-ChildItem -Recurse <#DBL>"
PsCmd_Fi = "<#DBL> | Where-Object { ! $_.PsIsContainer }).Count"
PsCmd_Fo = "<#DBL> | Where-Object { $_.PsIsContainer }).Count"

for i = 0 to 4
 File = POWERSHELL( PsCmd + Dir[i] + PsCmd_Fi, FALSE, FALSE)
 Folder = POWERSHELL( PsCmd + Dir[i] + PsCmd_Fo, FALSE, FALSE)
 Size = ""
 print "Target" + FORMAT( (i+1), 2) + ": " + Target[i]
 print "File : " + TRIM( File)
 print "Folder : " + TRIM( Folder)
 print "Size : " + TRIM( Size) + "KB"
 print ""
next

PowerShellで途中まで作って挫折したよ

1024 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 04:00:43.26 ID:nYP5j9vp0.net]
>>974
フォルダ掘ればいいのでは?

canal22.org/tag/getdir/

1025 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 08:06:20.10 ID:6SBM6WCh0.net]
1."りんご" "みかん" "バナナ"といった項目名を配列に格納
2.それをSLCT_CHKを使って表示する
3. 2.でチェックされたものを除外し、更にSLCT_CHKで表示する

という感じのものを作りたいんだけど、3番目はどうやったらできるのかよくわからない
配列から削除ってできるのかな?

1026 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 09:38:33.79 ID:1hoVfgjO0.net]
連想配列で削除できない

1027 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 11:33:01.25 ID:3CoRVnNt0.net]
>>974
あぁ、数もか
ならこんな感じ?

// サイズは元から全部
Function FolderInfo(path, var cntFolder, var cntFile)
  Result =""

  oFso  = CreateOLEObj("Scripting.FileSystemObject")
  oFolder = oFso.GetFolder(path)
  Result =oFolder.Size
  
  FolderSearch(path, cntFolder, cntFile)
Fend

// subFolderが空になるまで再帰的に検索
Function FolderSearch(path, var cntFolder, var cntFile)
  Result =""

  oFso  = CreateOLEObj("Scripting.FileSystemObject")
  oFolder = oFso.GetFolder(path)
  
  For folder In oFolder.SubFolders
    FolderSearch(folder.Path, cntFolder, cntFile)
  Next
  
  cntFolder =cntFolder +oFolder.SubFolders.Count
  cntFile  =cntFile  +oFolder.Files.Count
Fend

1028 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 11:34:25.21 ID:3CoRVnNt0.net]
そんで、こういう風に呼び出す

cntFolder=0
cntFile =0
size =FolderInfo("d:\tmp", cntFolder, cntFile)

print "フォルダ数 : "+cntFolder
print "ファイル数 : "+cntFile
print "フォルダサイズ : "+size

1029 名前:名無しさん@お腹いっぱい。 [2016/11/26(土) 12:03:28.77 ID:vecnfNxm0.net]
>>976

これで意図通りに動くかな?

// 選択要素の配列
Dim Select_array[] =

1030 名前:名無しさん@お腹いっぱい。 [2016/11/26(土) 12:07:31.54 ID:vecnfNxm0.net]
>>976

うわ。切れちゃうな。。

全角の ”を使ったらいけたけど、今度は改行が多すぎるって蹴られた。

このあと、2分割で投稿します。



1031 名前:名無しさん@お腹いっぱい。 [2016/11/26(土) 12:10:43.26 ID:vecnfNxm0.net]
// 選択要素の配列
Dim Select_array[] = ”りんご”,”みかん”,”バナナ”,”パイン”,”スイカ”

1032 名前:
// 一時保存用の最大枠のカラ配列
Dim temp_array[Length(Select_array)-1]
While true
ifb LENGTH(Select_array) > 0
tempA = SLCTBOX(SLCT_CHK or SLCT_NUM, 0, 10, 10, ”どれを削除しますか?”, Select_array)
If tempA = -1 THEN EXITEXIT
tempB = split(tempA, ”<#TAB>”)
tempC = Length(Select_array)-Length(tempB) // 残った選択肢の数
// 残った要素を一時保存用へ抽出
Count = 0
For i=0 to tempC-1
While True
WriteFlag = True
For ii=0 to Length(tempB)-1
Ifb tempB[ii] = Count
WriteFlag = False
EndIf
Next
[]
[ここ壊れてます]

1033 名前:名無しさん@お腹いっぱい。 [2016/11/26(土) 12:11:15.96 ID:vecnfNxm0.net]
Ifb WriteFlag = True
temp_array[i] = Select_array[Count]
Count = Count + 1
Continue 2
Else
Count = Count + 1
Continue
EndIf
Wend
Next
// 配列容量をを減らす
ReSize(Select_array, tempC-1)
// 一時保存配列から、選択要素の配列へコピー
For i=0 to tempC-1
Select_array[i] = temp_array[i]
Next
Else
MSGBOX(”選択できる項目がありません”, BTN_OK, 10, 10)
EXITEXIT
EndIf
Wend

1034 名前:名無しさん@お腹いっぱい。 [2016/11/26(土) 12:16:33.41 ID:vecnfNxm0.net]
行頭のタブは無視されるのか。。
インデント、見にくくてスマン。

いちお、画像でも載せておくね。

imgur.com/chxKeAU

1035 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 12:19:58.93 ID:6SBM6WCh0.net]
>>982
うおう凄え
全部作ってくれたのか
意図通りのものです
ありがとうございます

1036 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 12:31:07.91 ID:2WSW48GA0.net]
>>985

974です。
意図通りに動いて良かったです。
uwscは、配列の中の個別削除が容易に出来ないのが困りますよね。
いちいち配列を作り直すチカラ技で対応しました。

1037 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 13:20:36.65 ID:6+zLlKX90.net]
>>978-979
希望通りに取得できたよ、ありがとう

余談で検証しててふと気になったんだけど、
size =FolderInfo("D:\", cntFolder, cntFile)
みたいな場合とか
マイドキュメントの場所をネットワーク上に変更している場合に
UserProfile = TRIM( DOSCMD("echo %USERPROFILE%"))
size =FolderInfo(UserProfile + "\Documents", cntFolder, cntFile)
だとCOMエラーになるんだね

1038 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 16:45:30.31 ID:3CoRVnNt0.net]
>>987
色々表示しながら実行してみた所、
・ルートはちょっと特別っぽい
・"System Volume Information"などSystem属性のフォルダを参照するとエラーになるっぽい

ちゃんとデバッグしないとダメだと勉強させてもらいました・・・
もっと綺麗な方法もあるとは思うのですが、取り敢えず修正してみました
修正後のは長くなったので以下のところに置きました
https://www.axfc.net/u/3745260

1039 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/26(土) 18:25:19.03 ID:6+zLlKX90.net]
>>988
おぉ、わざわざありがとう
普通に使う分には>>978-979で全然問題無いけど、凄く勉強になった

1040 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 04:19:07.24 ID:jWh9YrXE0.net]
>>988
俺の環境だとまだCOMエラー出たので処理追加してみた。
https://www.axfc.net/u/3746393



1041 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 04:47:14.75 ID:szaNZKp30.net]
このUWSCとゆうアプリは最悪です、、。
何でも好きなこと自動でやってくれると聞いてこのアプリ入れたのです。
アプリ起動して、サンプルとゆうファイルを読み込んで再生したのですが、、
なんと!メモ帳の文字が極太になり、しかもめちゃくちゃ文字がでかくなり、
全てのテキストがそうなりました!!
なおりません!!
ウィルスだったのでしょうか?
なんかあちこちで名前出てきて有名だったと安心していたのですが、、
どうすればなおりますか!!


1042 名前:U物を落としたのでしょうか?? []
[ここ壊れてます]

1043 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 05:25:33.63 ID:I56PdSSD0.net]
>>991
おすすめ www.pcdepot.co.jp/cm_g/

1044 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 19:37:08.90 ID:jWh9YrXE0.net]
サンプル.uwsは自動操作中Lockhardで誤操作を防止しているが、
自動操作でフォントを大きく設定し、
最後にフォントを戻す操作を行ってから終了するので、
戻す前にスクリプトを中断すればフォントは大きく設定されたままになる…

1045 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 20:34:12.64 ID:8AIxVgcQ0.net]
がんばれ

1046 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/29(火) 22:21:25.48 ID:HhuAQkvT0.net]
小学生は使うな

1047 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/01(木) 16:08:56.58 ID:9zsJ3xWT0.net]
画像認識を楽に早くする方法はないだろうか
範囲の絞り込みを自動化するぐらいしかしてないんだが

1048 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/01(木) 16:12:54.03 ID:NlwMQ4LT0.net]
>>996
「楽に早く」がどういう意味を指してるのかわからない

1049 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/01(木) 16:13:33.03 ID:jQzpKY8h0.net]
最適化はケースバイケースなので楽な手段は無いさ
究極的には画像認識がしない方法で判断した方が速いのだからね

1050 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 20:46:25.30 ID:JBNWCRPZ0.net]
これってそのままじゃCALLで変数に入ったuwsファイルを呼べないんだな
みんなどうやって切り抜けてるの?



1051 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 20:48:12.94 ID:Fh0ohKSI0.net]
意味不明すぎる

1052 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 21:30:47.28 ID:kYV2xS7j0.net]
ww

1053 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 21:51:36.96 ID:5ph/Z61A0.net]
変数nで
1.uws
2.uws
3.uws
4.uws
5.uws

をn.uwsで呼べないかって事かなぁ?

1054 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 21:58:06.53 ID:UR5lg4ON0.net]
>>999
試してないから分からないけど、まず質問内容のエスパーからですね。

callしたい全文を変数に入れて、変数をcallしたらうまくいかないってこと?
それとも、変数にcallしたいuwsファイルのパスを入れて呼び出してもうまくいかないってこと?
切り抜けるとは?
普通は、
call ゛c:¥ドキュメント¥コールされたい.uws゛
って感じで使ってると思いますが。

1055 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 22:04:24.11 ID:UR5lg4ON0.net]
まあ、
「CALLで変数に入ったuwsファイル」
この日本語の意味が、解釈が何通りもあって困るよね。

uwscの文法の前に、日本語の文法を勉強したほうがいいかも。

あ、スレが満タンになっちゃうね。

1056 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 22:47:23.25 ID:JBNWCRPZ0.net]
言葉足らずで申し訳ないです
>>1002,>>1003の書いてることがやりたいです

具体的に書くと
hensu="c:¥ドキュメント¥コールされたい.uws"
CALL hensu

というようなことをしたいんだけど、これで行くと「hensuはありません」というようなエラーがでて再生できない

DOSCMD("ECHO "+ hensu + ">caller.uws) と言ったコマンドで
内容が「CALL c:¥ドキュメント¥コールされたい.uws」のみ書かれているcaller.uwsファイルを毎回作成して、
その都度caller.uwsを呼ぶようにしたらいけるんじゃねって思って試したけど、
再生時のcaller.uwsしか読み込まず、その後caller.uwsを書き換えてもhensuで指定したuwsファイルが呼べないです

何かいい方法ありませんか

1057 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 22:53:34.84 ID:GfeXgi1I0.net]
1〜5.uwsがスクリプトで自動生成される物じゃないなら
全部関数でくくって内部関数で If 変数=1 Then Func_1() すりゃいい

1〜5.uwsないし、その後も自動生成されてゆくスクリプトなら
callでなくDosCmd(変数+".uws")でよい
大量の変数渡したいならテキストにでも書き出せばいい

言ってる意味が分からないなら素質ないからやめたらいい

1058 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 22:55:35.14 ID:GfeXgi1I0.net]
>>1005

CALL はすべてのプログラムの最初に読み込まれるんだよ


1059 名前:ヘルプ1000回読んで来い

CALL hensu >変数はありません

hensu="c:¥ドキュメント¥コールされたい.uws" >hensuが定義される

この順に実行されるからどうやっても無理
[]
[ここ壊れてます]

1060 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/12/03(土) 23:12:04.53 ID:SsmLpJVs0.net]
10^3



1061 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<286KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef