[ 掲示板に戻る ]

過去ログ閲覧モード

20位のファイルを一つにまとめたいのです。 / sen
20位のファイルを一つにまとめたいのです。
実験ではうまくいったのですが、まとめたいファイルでは、うまくいきません。
「*」でうまくいくのは、虫が良すぎでしょうか?
ご教授願います。

public 元フォルダ = "D:\実験\元\"
public 新フォルダ = "D:\実験\新\"
public 元ファイル = "*.CSV"
public 新ファイル = "統合.CSV"


Pファイル統合()

PROCEDURE Pファイル統合()
  コマンド = "COPY " + 元フォルダ + 元ファイル + " " + 新フォルダ + 新ファイル
  DOSCMD(コマンド)
fend

No.1053 2015/03/27(Fri) 00:15:18

Re: 20位のファイルを一つにまとめたいのです。 / えあり
?@実際の環境でのフォルダ、ファイルにスペースがある場合
 Copy "D:\元 フォルダ\元 ファイル.csv" "D:\新 フォルダ\新 ファイル.csv"
 というように "" でくくってやる必要があります (UWSC的には <#DBL> )

?A新フォルダが存在しない場合
 先に受け側フォルダを作ってやらなければなりません
 MD 新フォルダ & Copy 元フォルダ + 元ファイル + " " + 新フォルダ + 新ファイル

No.1054 2015/03/27(Fri) 12:04:45

Re: 20位のファイルを一つにまとめたいのです。 / sen
<?A新フォルダが存在しない場合
<先に受け側フォルダを作ってやらなければなりません

新フォルダはあります。

<?@実際の環境でのフォルダ、ファイルにスペースがある場合
<Copy "D:\元 フォルダ\元 ファイル.csv" "D:\新 フォルダ\新 ファイル.csv"
<というように "" でくくってやる必要があります (UWSC的には <#DBL> )

ファイルの途中には、スペースはありません。
<#DBL>で囲ってみたのですが、うまく囲えません。
下記のように<#DBL>を挿入したら動いたのですが、結果は同じです。
ひとつのファイルだけコピーされます。

コマンド = "COPY " +"<#DBL>"+ 元フォルダ + 元ファイル +"<#DBL>"+ " " +"<#DBL>"+ 新フォルダ + 新ファイル

何か分かりましたら、お願いします。

No.1057 2015/03/27(Fri) 23:44:06

Re: 20位のファイルを一つにまとめたいのです。 / Liners
0バイトのファイルがある > Xcopy
環境変数を使っている > ダブル・DOSコマンド http://www.nagomi-jp.net/~liners/p04.htm

No.1058 2015/03/28(Sat) 00:54:15

Re: 20位のファイルを一つにまとめたいのです。 / sen
<0バイトのファイルがある > Xcopy

表題が必ずありますので、1バイトはあります。

<環境変数を使っている > ダブル・DOSコマンド http://www.nagomi-jp.net/~liners/p04.htm

環境変数はよく理解できてませんが、使用してないと思います。
実際のフォルダ名・ファイル名は下記のような感じです。

工事_業者名.csv
\\K90\d\在庫\工事\CSV\ ←ネットワークです。

家のパソコンで、D:\実験\だとやはりうまくいきます。

No.1062 2015/03/29(Sun) 00:00:23

Re: 20位のファイルを一つにまとめたいのです。 / SEN
済みません。
解決できそうです。
ありがとうございました。

No.1063 2015/03/29(Sun) 09:10:48

Re: 20位のファイルを一つにまとめたいのです。 / えあり
ネットワークドライブにあるファイル・フォルダは
DOSコマンドで処理させる場合はいったんローカルパスにマウントさせないと動きません

後出しでこの重要なことを付け加えるのは非常に残念な気持ちになりますが
解決したならよかったですね

他の方が同じ内容にたどり着いた場合の参考に一応かいておきます
DOSCMD("net use x: \\K90\d\在庫\工事\CSV\")

No.1074 2015/03/31(Tue) 11:41:19

Re: 20位のファイルを一つにまとめたいのです。 / しろまさ
> ローカルパスにマウントさせないと動きません

UNCチェック外すと動きますよ。

http://siromasa.digi2.jp/uwsc/u_term/94_Registry.html
の(Cmd ?@ コマンドプロンプトのUNCチェックを外す。)

まあコピー・同期は、安定のrobocopy.exeを使用してますけどね。

No.1075 2015/03/31(Tue) 15:24:02

Re: 20位のファイルを一つにまとめたいのです。 / sen
ネットワークドライブは別物なんですね。
聞いて良かったです。
ありがとうございました。

No.1092 2015/04/04(Sat) 12:09:23
フォームボタン / もりた
<form action="entry_form" method="post" enctype="multipart/form-data">
<fieldset>
<legend>エントリー登録フォーム</legend>
<input type="hidden" name="freo[token]" value="3ecba12b601b" />
<input type="hidden" name="entry[id]" value="" />
<dl>
<dl>
<dt>画像</dt>
<dd><input type="file" name="entry[file]" size="30" /></dd>
<dt>裏面画像</dt>
<dd><input type="file" name="entry_associate[option][backImg]" size="30" /></dd>
</dl>
<p class="formBut">
<input type="submit" name="preview" value="確認する" />
<input type="submit" value="登録する" class="submit" />
</p>
</form>


上記のようなHTMLがあります。それに対して、以下のuwscを用意しました。



Thread PopupWin("アップロードするファイルの選択","開く(&O)",2,item_frontimg)
IESetData(IE,True,"entry[file]") // FILE
BusyWait(ie)
IESetData(IE,item_frontimg,"entry[file]") // 正面画像

Thread PopupWin("アップロードするファイルの選択","開く(&O)",2,item_backimg)
IESetData(IE,True,"entry_associate[option][backImg]") // FILE
BusyWait(ie)
IESetData(IE,item_frontimg,"entry_associate[option][backImg]") // 裏面画像
IESETDATA(IE,TRUE,"送信する")

Procedure PopupWin(title, btn, no=-1, str="")
id = Getid(title,"#32770",10)
Sleep(1)
if no>=0 then Sendstr(id,str,no,True)
Clkitem(id,btn)
Fend



画像を選択後にsubmit したいのですが、
submitをすると、選択した画像が削除されてしまい、
submitすることができません。

書き方を変更すればよいのでしょうか?

No.1076 2015/04/01(Wed) 01:03:25

Re: フォームボタン / もりた
ちなみに・・・

IESETDATA(IE,TRUE,"送信する")
上記のを

Thread PopupWin("アップロードするファイルの選択","開く(&O)",2,item_frontimg)
IESetData(IE,True,"entry[file]") // FILE
BusyWait(ie)
IESetData(IE,item_frontimg,"entry[file]") // 正面画像

よりも先に書くと、正常にsubmitされます、

No.1077 2015/04/01(Wed) 02:02:43

Re: フォームボタン / stuncloud
> submitすることができません。
> IESETDATA(IE,TRUE,"送信する")

提示されたform内に「送信する」というボタンがないのですが、どういうことでしょうか

> 選択した画像が削除されてしまい、
がどういうことかわかりません、詳しく説明をお願いします

> IESetData(IE,item_frontimg,"entry[file]") // 正面画像
> IESetData(IE,item_frontimg,"entry_associate[option][backImg]") // 裏面画像

この2行は不要と思われます
・PopupWin()関数で処理している
・そもそもtype="file"のinput要素にはIESetDataでvalueを設定できないはず

No.1084 2015/04/02(Thu) 11:39:29

Re: フォームボタン / もりた
stuncloud様
ありがとうございます。

提示されたform内に「送信する」というボタンがないのですが、どういうことでしょうか
HTMLの記載が間違っていました。

form 内の送信するボタンは以下のとおりです。
<input type="submit" value="登録する" class="submit" />



> 選択した画像が削除されてしまい、
がどういうことかわかりません、詳しく説明をお願いします

ファイル参照ボタンを押して、画像ファイルを選択すると、
<dd><input type="file" name="entry[file]" size="30" /></dd>
上記にファイルへのパスとファイル名が入力されますが、
submitすると、上記に入ったパスとファイル名が消えてしまいます。
もう一度submitすると、
<dd><input type="file" name="entry_associate[option][backImg]" size="30" /></dd>
今度はこちらが消えてしまいます。



> IESetData(IE,item_frontimg,"entry[file]") // 正面画像
> IESetData(IE,item_frontimg,"entry_associate[option][backImg]") // 裏面画像

この2行は不要と思われます
・PopupWin()関数で処理している
・そもそもtype="file"のinput要素にはIESetDataでvalueを設定できないはず

おっしゃる通り、削除しても問題ありませんでした



どうしても、現状のスクリプトの順序だと、submit することができません

No.1088 2015/04/03(Fri) 01:06:43

Re: フォームボタン / stuncloud
提示されたformを組み込んだテスト用のサイトを使ってスクリプトを実行してみましたが、最後に「登録する」ボタンを押させると選択した画像が正常にアップロードされていました

> submitすると、上記に入ったパスとファイル名が消えてしまいます
ううむ…ちょっとなにが起きているのかわからないですね…
スクリプトには画像の選択までを行わせ「登録する」ボタンの押下は手入力で行った場合でもこれは再現するのでしょうか
何がきっかけでその現象が発生しているのか切り分けられれば、解決策も見つかるかもしれません

現状だとこれ以上はアドバイス出来そうもありません…

No.1091 2015/04/03(Fri) 11:46:09
SHIFT+クリック時に配列に文字を追加 / まろん
お世話になってます。
SHIFTキーを押しながらクリックした場合、
INPUTを表示させ、
配列に同じ値があったら、「存在してるよ!」などと表示させ、
無ければ配列に追加というものを作ろうと思ってます。

<やりたいこと>
1.SHIFT+左クリックをする
2.ファイル名を設定。(INPUT)
3.設定したファイル名が既に配列に入っていたら、
  再度INPUTを表示(違うファイル名を入力して下さい)
  (キャンセルを押してたら、キャンセル押しました。終了しますか?と表示。)
4.配列にファイル名を追加

SHIFT+クリックでのみ、行いたいです。

COUNT=0
HASHTBL ALLFILENAME = HASH_CASECARE//配列宣言!!
BEFORENAME="テスト"
FNAME="テスト"
TESTCOUNT=1

WHILE !GETKEYSTATE(VK_ESC)//ESCで終了

  IFB GETKEYSTATE(VK_SHIFT)=TRUE AND GETKEYSTATE(VK_LBUTTON)=TRUE
      REPEAT//繰り返す〜
       IF FNAME = "テスト"//ファイル名が存在しない場合のみ…!
        FNAME = INPUT("保存するファイル名を入力して下さい",BEFORENAME)
       ELSEIF

       ELSEIF ALLFILENAME[FNAME, HASH_EXISTS]=TRUE
        FNAME = INPUT("違うファイル名を入力して下さい",BEFORENAME)
       ELSE
       BEFORENAME= FNAME//BEFIREBANEに挿入…!!
       ALLFILENAME[FNAME]=FNAME//新しいファイル名を登録…!!
       TESTCOUNT=2
       ENDIF
      UNTIL TESTCOUNT=2
       ALLFILENAME[FNAME]=FNAME//新しいファイル名を登録…!!
       MSGBOX(SLCTBOX(SLCT_CMB+ SLCT_STR,0,"ファイルを選んでねー",ALLFILENAME))
       TESTCOUNT=1
  ENDIF
WEND


ざっくり作ってみたのですが
なんだか変なプログラムになってしまいました…。
INPUTBOXが2度表示されてしまったり…

改善点等ありましたら、お願い致します。

No.1087 2015/04/02(Thu) 12:55:53

Re: SHIFT+クリック時に配列に文字を追加 / しろまさ
// 条件なしのElseIf とか BEFIREBANE とか謎は多いですが、無駄を省いてみました。

HASHTBL ALLFILENAME = HASH_CASECARE
Dim BEFORENAME = "テスト", FNAME, MSG
Repeat
  Ifb GetKeyState(VK_SHIFT) AND GetKeyState(VK_LBUTTON)
    MSG = "保存するファイル名を入力して下さい"
    Repeat
      FNAME = Input(MSG, BEFORENAME)
      MSG = "違うファイル名を入力して下さい"
    Until  ! ALLFILENAME[FNAME, HASH_EXISTS]
    If  NAME = ""  Then Continue  //  キャンセル処理のタイミングは任意で。
    BEFORENAME = FNAME
    ALLFILENAME[FNAME] = FNAME
    MsgBox(SlctBox(SLCT_CMB + SLCT_STR, 0, "ファイルを選んでねー", ALLFILENAME))
  EndIf
  Sleep(0.2)  //  負荷軽減
Until  GetKeyState(VK_ESC)

//  Repeatは好み。どうでもいい主観ですが、Whileは日本式でUntilはアメリカ式の試験制度っぽい気がする。

No.1089 2015/04/03(Fri) 09:04:46

Re: SHIFT+クリック時に配列に文字を追加 / まろん
しろまさ様
回答ありがとうございます。

作り途中だったもので、ElseIfを置いたままにしてしまいました、すみません。
試してみましたが、思った通りの動作になりそうです^^
ありがとうございます!

>Repeatは好み。どうでもいい主観ですが、Whileは日本式でUntilはアメリカ式の試験制度っぽい気がする。
私もRepeatは好きですね。使いやすいです。

ありがとうございました^^

No.1090 2015/04/03(Fri) 11:02:49
KansuCall:Range check error / EK
突然、以下の行で”KansuCall:Range check error”が出るようになりました。
ifb checkType(aaa) > - 1 then

マクロが大きくなりすぎたのでしょうか?
それほど大きくはないと思うのですが、突然発生するようになりました。
ひょっとして65535byteに壁があるのでしょうか?

ちなみに現在29ファイル、計65629byteです。

No.1078 2015/04/01(Wed) 14:56:02

Re: KansuCall:Range check error / umiumi
これだけでは何とも分りません。(checkType、aaa が何なのかもわかりません)
できるだけシンプルにして動作確認できるスクリプトの提示をお願いします。
環境の提示もお願いします。

No.1082 2015/04/02(Thu) 01:03:37

Re: KansuCall:Range check error / EK
すいません、自己解決できました。

変数aaaのスコープの問題でした。

エラーメッセージから関数呼び出しで問題が有ると勘違いしていました。
ちょうど、マクロサイズが64Kbyteを超えた当たりでしたので、アセンブラのショートジャンプの壁と同じような事態が起きているのかと思いました。

No.1086 2015/04/02(Thu) 12:50:19
(No Subject) / ああ
flashゲームにて
カーソルの座標の色がn色になったらその場でクリックさせるにはどうすればよいですか?


WHILE TRUE

RGB=PeekColor(G_MOUSE_X,G_MOUSE_Y)
R=RGB AND $0000FF
G=(RGB AND $00FF00)/$100
B=(RGB AND $FF0000)/$10000


Endif
//Endif
sleep(0.16)
WEND

この真ん中らへんに何を入れればよいかわかりません

No.1068 2015/03/29(Sun) 18:50:24

Re: / まろん
http://bareron.web.fc2.com/uwsc00003s.html
とりあえず、こちらでも見たらどうです?

No.1080 2015/04/01(Wed) 18:13:47

Re: / ああ
難しい言葉が多いですね・・
No.1081 2015/04/01(Wed) 20:27:07
SetHotKey関数とProcedureの 引数=定数 の併用について / ミリアム
以下のようにしてFキーを押すと、
15/03/28 18:37 変数: TEXT が定義されていません 8行目: FUKIDASI(TEXT)
というエラーが出て止まってしまいます。
これは仕様でしょうか?

---------------------------------------------------------
SetHotKey(VK_F, , "Fukidasi2")

Repeat
 Sleep(0.1)
Until GetKeyState(VK_Ctrl)

Procedure Fukidasi2(Text = " ")
 Fukidasi(Text)
 Sleep(3)
 Fukidasi()
FEnd

No.1059 2015/03/28(Sat) 18:42:39

Re: SetHotKey関数とProcedureの 引数=定数 の併用について / ミリアム
忘れてました
Windows8.1
UWSC Ver5.1.0、Free版 です!

No.1060 2015/03/28(Sat) 18:43:45

Re: SetHotKey関数とProcedureの 引数=定数 の併用について / Nagatani
SetHotKeyは「Procedure内にて変数 HOTKEY_VK にキーコード」などを返すものですので
このスクリプトを読む限りでは下記の通りだと思います。

Public Text
Text = "実験"

Repeat
 IF GetKeyState(VK_A) THEN FUKIDASI2()
Until GetKeyState(VK_Esc)

Procedure Fukidasi2()
 Fukidasi(TEXT)
 Sleep(3)
 Fukidasi()
FEnd

No.1064 2015/03/29(Sun) 09:48:18

Re: SetHotKey関数とProcedureの 引数=定数 の併用について / yanyan
HELPにはないが、SetHotKeyは引数のあるProcedureは呼べない。一段かますことが仕様では?
SetHotKey(VK_F, , "Fukidasi3")

Procedure Fukidasi3
Fukidasi2()
FEnd

No.1066 2015/03/29(Sun) 15:22:53

Re: SetHotKey関数とProcedureの 引数=定数 の併用について / Nagatani
二段構えは考えてもみなかったですね!
気になった案件だったのでスッキリしました!

No.1067 2015/03/29(Sun) 16:05:00

Re: SetHotKey関数とProcedureの 引数=定数 の併用について / ミリアム
皆さんありがとうございます。
仕様でしたか。まあ確かに変な使い方ですもんね。

アドバイス通り、関数でクッション挟むことにします!
ありがとうございました!

No.1073 2015/03/31(Tue) 02:13:23
doscmdとreplace / SEN
インタネットエクスプローラーで開くまではいくのですが、
そのままで、uwsc落ちてしまいます。
下記の様な書き方は、おかしいでしょうか?

dim ファイル = "\\K9\d\工事\統合.CSV" →ネットワーク
doscmd(replace(ファイル,"csv","html"))

No.1065 2015/03/29(Sun) 11:30:46

Re: doscmdとreplace / routa
replaceは関係ないでしょう。
同期フラグは true にしましょう。

No.1069 2015/03/29(Sun) 21:08:30

Re: doscmdとreplace / sen
ありがとうございました。
うまくいきました。

No.1072 2015/03/30(Mon) 23:42:19
uwsc5での改行認識ができなくなりました。 / Rime
UWSCのプログラムでは大変お世話になっております。

改行についての質問なのですが、

以前のバージョンでは、以下のコードで、情報を
取得できていたのですが、uwsc5.0では、改行のほうの認識が<#CR>では
出来なくなってしまいました。(windows7)

以前は、xの値が
bbbbbbb
ccccccc
と取得できていたのが、現在はNULL値が返ってきます。

改行のほうを認識するようにするには、どうしたらいいでしょうか・

x = BETWEENSTR(xxx,aaaaaaa,<#CR><#CR>)

================
HTMLソース
aaaaaaa
bbbbbbb
ccccccc



eeeeeee
fffffff
================

No.1051 2015/03/26(Thu) 17:26:12

Re: uwsc5での改行認識ができなくなりました。 / routa
BETWEENSTRの問題ではないですね。
htmlの改行が CHR(13)+CHR(10) = <#CR> ではなく、CHR(13), CHR(10)の単体なのではないですか。
改行コードが何なのか確認しましょう。

No.1055 2015/03/27(Fri) 16:55:04

Re: uwsc5での改行認識ができなくなりました。 / Rime
アドバイスありがとうございました。
chr(10)の単体指定で無事動作いたしました。

No.1071 2015/03/30(Mon) 17:24:28
ctrlwin関数でのtopnoactvについて / kei
この関数でIDを取得するウインドウは、CTIのクラウドソフトで、IEから起動しておいて、
通常、小窓にした状態で画面の右下に置いておくウインドウです。

他のウインドウで作業中に電話が掛かってくると、その小窓がアクティブになり、
電話番号が小窓に表示されるものです。

この場合、作業中に小窓にアクティブを取られてしまいます。
アクティブを取られず、しかし小窓には電話番号が表示されるようにするため、

CTRLWIN( ID, TOPNOACTV )

を使い、この小窓を「最前面にするがアクティブ化はしない」ようにしたいのですが、
どうしてもアクティブを取られてしまいます。

ちなみに、他のウインドウでの作業中でもトップ表示は終始維持されています。

このコマンドは、初めだけ非アクティブにするものなのでしょうか。
もしそうだとしたら、ずっと非アクティブにする方法はないのでしょうか。

ネットでかなり探してみましたが、答えが見つかりませんでした。
どなたか、助けて下さい。

よろしくお願いします。

No.1070 2015/03/29(Sun) 22:46:59
文字列をbase64デコードする方法 / わーみぃ
base64エンコードされたメール本文をデコードしたくて
http://note.chiebukuro.yahoo.co.jp/detail/n313226
http://d.hatena.ne.jp/EijiYoshida/20140618/1403092855
等を参考に以下のようなコードを書き試してみました。
DOSCMD("certutil -f -decode <#DBL>" + base64ファイル + "<#DBL> <#DBL>" + base64デコード出力ファイル + "<#DBL>")

ところが、出力される文字列はJISとなってしまい、uwscでENCODE処理をしても文字化けしてしまいます。

文字列をbase64デコードするもっと良い方法は無いでしょうか?
宜しくお願いします。

No.1034 2015/03/24(Tue) 11:27:22

Re: 文字列をbase64デコードする方法 / わーみぃ
nkfを使ってshift-jisに変換することができました。
doscmd("nkf32.exe -s -Lw jis.txt > sjis.txt")

No.1044 2015/03/25(Wed) 00:45:15

Re: 文字列をbase64デコードする方法 / しゅん
// 以下のような手もあります。
DIM path = "対象のファイル"
MSGBOX(POWERSHELL("[Text.Encoding]::GetEncoding('iso-2022-jp').GetString([Convert]::FromBase64String([IO.File]::ReadAllText('" + path + "')))"))


// Microsoft.XMLDOMとADODB.Streamを使う手もありますね。
WITH CREATEOLEOBJ("Microsoft.XMLDOM")
  DIM binMan = .createElement("tmp")
  binMan.dataType = "bin.base64"
ENDWITH
WITH CREATEOLEOBJ("ADODB.Stream")
  .Open()
  .Charset = "iso-2022-jp"
  .Type = 2
  .LoadFromFile(path)
  binMan.text = .ReadText()
  .Position = 0
  .Type = 1
  .Write(binMan.nodeTypedValue)
  .SetEOS
  .Position = 0
  .Type = 2
  MSGBOX(.ReadText())
ENDWITH

No.1049 2015/03/25(Wed) 21:55:22

Re: 文字列をbase64デコードする方法 / わーみぃ
しゅん様
このような方法もあるのですね、教えて頂きありがとうございます。
この手も使わせて頂きます!

No.1056 2015/03/27(Fri) 21:30:27
全1170件 [ ページ : << 1 ... 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ... 117 >> ]