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/
1002 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 15:03:01.08 ID:QyygGYWu0.net] >>952 貴様という使い方は昔は丁寧語か普通だった 今は失礼にあたり侮辱にも使われる 大根役者も昔と今は意味が真逆 言葉が不変だったことは歴史的にない それをネラーは認めない頭の硬い集まり
1003 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 15:06:54.35 ID:k/80jT2y0.net] 気にする箇所が違う
1004 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 15:39:12.76 ID:7tsZ7Cor0.net] 過去に間違いを指摘されて顔真っ赤にした経験があるんだろw
1005 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 16:01:24.45 ID:XwmXXZtH0.net] めっちゃ気にしてるじゃないっすか
1006 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 17:54:03.23 ID:h/KejmyZ0.net] >>941 ゲーム用途ならフルボッコじゃん 説明出来る出来ないなんて関係無い で、ゲーム用途だって回答可能なら回答してるじゃん 要するにルールもへったくれもない低レベルのクズばかり
1007 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 18:10:32.46 ID:QyygGYWu0.net] >>954 / / じ あ 可 な | ゃ っ 不 ん | ん て で だ | る ` __|____ . /::::::::::::::::::::::::::::::::\____/ /:::::::::::::::::::::/⌒Y⌒ :::::\ . /::::::::::::::::: -‐{ u | u ノ- ::::::. /::::::::::::/ ―- (___) -‐ ヽ| . |::::::::: / --―‐ | ―- | . |::::::::::{ \ -― | ‐- }| . ::::::::::{ . __|__ ノ . ゚。:::::\ ∠二二二\_/二二ヽ (ニニニニ| 中国語 冂 | |::::-―ァ'⌒ヽ――┐ |=| /⌒ヽ |:::::::::::: 、_丿 | |=| 、_丿
1008 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 18:12:01.04 ID:7tsZ7Cor0.net] botやそれにまつわる質問は問答無用で叩かれてもしょうがない それくらい覚悟しろ
1009 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 18:19:57.69 ID:XwmXXZtH0.net] すまん、ちょっと聞きたんだけど while true if getkeystate(vk_esc) then exit while chkimg("俺",1,,,,,,IMG_MSK_BGR6) = false Print "お<#CR>ち<#CR>ん" Sleep(0.5) wend wend みたいな時って俺が見つかるまではエスケープしても止まれないじゃん? if の一行を関数化して 俺を探す While のループ中に挿れるっきゃない?
1010 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 18:51:11.56 ID:W5JIpws20.net] ESCを押していたらチェック始まる前に抜けたいんだろ? で、チェック中もESCで抜けたいということであってるな? そしたらループを抜ける条件を最後にチェックできるRepeatを使う repeat if getkeystate(vk_esc) then exit Print "〜" Sleep(0.5) until chkimg("俺",1,,,,,,IMG_MSK_BGR6)
1011 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/11/24(木) 19:33:17.41 ID:XwmXXZtH0.net] >>961 あぁ、Repeatってそういう使い方だったのね 使いたての頃に意味ぷーで以来ずっと敬遠してたからマジ感謝だわ d
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています