|
|
2014/7/31(Thu) 18:53:47|NO.63237
初歩的(?)なことをお聞きします。
コマンドライン付きファイル名を変換したいです。
具体的には、
Existでファイルの有無を調べるとき
Exist dir_sys+"\\cmd.exe /c set"
mes strsize
とするとstrsizeが-1となってしまいます。
単純に半角以降の文字を消して調べると
"C:\Program File\XXX.EXE" -s -t
のようなパスの時などに対応すると時間がかかる気がします。
GetPathでも無理なようです。
単純にファイルの有無を調べるだけなのであまり時間は掛けたくないです...
APIなどがあるのでしょうか...
よろしくお願いします。m(_ _)m
|
|
2014/7/31(Thu) 20:06:24|NO.63241
さっきのおかしかったので結局strmidにしましたorz
path = "\"C:\\program files\\hogehoge.exe -h\""
;path = "C:\\windows\\hogehoge.exe -h"
mes path
if peek(path,0) = '\"' :path = strmid(path,1,instr(path,0,".exe")+3):else:path = strmid(path,0,instr(path,0,".exe")+4)
mes path
無理やり一行です
見づらかったらinstrを適当な変数に代入して書き換えれば見やすいと思います
|
|
2014/7/31(Thu) 22:18:08|NO.63247
すみません。
.exe以外に対応するにはどうすればいいでしょうか?
|
|
2014/7/31(Thu) 22:42:08|NO.63251
インスパイヤ・フロム・kanahironさん。
path = "\"C:\\Program Files\\ABC.BAT\" -a -x"
;path = "C:\\Windows\\System32\\XYZ.CMD -a -s"
;path = "\"C:\\Windows\\555.COM\" -d -p -m"
mes "["+path+"]"
if%<=instr(path,,"\""):path=strmid(path,instr(path,,"\"")+1,instr(path,instr(path,,"\"")+1,"\"")):else:path=strmid(path,$,instr(path,," "))
mes "["+path+"]"
削り過ぎたかも。
|
|
2014/8/1(Fri) 08:22:35|NO.63262
すみません。
path = "C:\\Windows\\System32\\notepad.exe"
mes "["+path+"]"
if%<=instr(path,,"\""):path=strmid(path,instr(path,,"\"")+1,instr(path,instr(path,,"\"")+1,"\"")):else:path=strmid(path,$,instr(path,," "))
mes "["+path+"]"
空出力してしまいます..
|
|
2014/8/1(Fri) 08:41:58|NO.63263
exe以外でプログラムを実行したいのならば、run命令を使ったらどうですか?
run "sample.ax"
stop
拡張子はaxなので、あらかじめstart.axを作成しといてください。
start.axのstartは好きな名前にしといてください。
|
|
2014/8/1(Fri) 08:49:16|NO.63264
>Satio Soft氏
そうゆうことじゃないですね〜(^^;
ユーザーが入力したパスを実行する。と言う動作でユーザーの入力したパスが
存在するかどうかのチェックをします。
しかし、そこでユーザーが[cmd.exex /c set]などと入力すると、
Exits が-1を吐いてしまいます。
EXECではなくCOMでVBSを呼び出して使うのでonerrorが使えないんですよ...
|
|
2014/8/1(Fri) 11:18:41|NO.63274
path = "\"C:\\Program Files\\ABC.BAT\" -a -x"
path = "C:\\Windows\\System32\\XYZ.CMD -a -s"
path = "\"C:\\Windows\\555.COM\" -d -p -m"
path = "C:\\Windows\\System32\\notepad.exe"
path2 = path
mes "["+path+"]"
if%<=instr(path,,"\""):path=strmid(path,instr(path,,"\"")+1,instr(path,instr(path,,"\"")+1,"\"")):else:path=strmid(path,$,instr(path,," "))
if path="" : path=path2
mes "["+path+"]"
とりあえずこのような感じにしました。
皆様有難うございました!
|
|