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


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

WSH(・∀・)スレッド!



1 名前:デフォルトの名無しさん [03/06/08 21:31]
( ´ゝ`) 無ので立ててみた。

誰か詳しい情報キボンヌ

53 名前:デフォルトの名無しさん mailto:sage [04/02/27 18:49]
意味わからん

54 名前:デフォルトの名無しさん mailto:sage [04/03/03 21:47]
WScript.Echo("わかれ");

55 名前:デフォルトの名無しさん mailto:sage [04/04/27 09:44]
お前ら、WindowsScripting使ってますか? Part3
pc5.2ch.net/test/read.cgi/win/1058829737/l50

56 名前:デフォルトの名無しさん [04/06/19 03:59]
テキストファイルの印刷って出来ませんか?

最終的には、WWWサーバで印刷したいのですが
www.microsoft.com/japan/msdn/columns/server/server033099.asp
に書かれているAddPrinterConnectionやAddWindowsPrinterConnectionを使用しても、
プリンタが見つかりません。のエラーになります。
EnumPrinterConnections で取得したプリンタ名を設定しても
エラーとなります。
どなたか教えてください。

57 名前:デフォルトの名無しさん mailto:sage [04/06/25 10:01]
notepad /p

58 名前:デフォルトの名無しさん [04/07/24 19:18]
.batファイルよりもWSH使った方が色々出来そうだね。

59 名前:デフォルトの名無しさん [04/08/08 02:43]
set shell = createobject("wscript.shell")
do
ret=shell.Popup("sage",1,,0)
loop

60 名前:デフォルトの名無しさん mailto:sage [04/08/08 11:00]
    ∧ ∧
   (*・∀・*)  イヤン
     / ,ノ⌒ヾ、
   ⊂⊂、___(_,つ

61 名前:デフォルトの名無しさん mailto:sage [04/08/18 05:45]
(:.;゚;Д;゚;.:)ハァハァ



62 名前:デフォルトの名無しさん [04/08/19 07:42]
SendToでショートカット渡すとリンク先のファイルのあるディレクトリをExplorerで開くスクリプトってどうやって書けばいいの?

63 名前:デフォルトの名無しさん mailto:sage [04/08/19 07:48]
open

64 名前:pakuchan [04/08/19 09:45]
Windowsのログオン時に,パスワードをキーボードから入力しますが,これを
RS232CやUSBで接続した認証用センサ(例えば指紋センサ)による認証方式
にするための方法について調べています.
別スレで同じような質問をし,サービスプログラムの作成が必要でないかと
コメントをいただいたのですが,サービスプログラムについてもよくわかりません.
まず,サービスプログラムで可能なのか,また可能であれば作成方法について教え
ていただけないでしょうか?

65 名前:デフォルトの名無しさん mailto:sage [04/08/19 09:51]
ハードは外から買って来るんだろ?
普通ハードにSDKやソフトウェアがついてると思うが。

66 名前:pakuchan [04/08/19 10:20]
具体的なところでICカードを考えているんですが,リーダーの制御コマンドしか
公開されていません.

67 名前:デフォルトの名無しさん mailto:sage [04/08/19 12:33]
WindowsNT系OSはログオンにGINA APIを使う。
www.cisnet.or.jp/home/tsuneoka/win32tech/6.html
GINAのサードパーティ製品(SDK?)あるようだがよくらん。
あとすれ違い。

68 名前:pakuchan [04/08/19 15:13]
GINAについての情報有難うございました.

69 名前:デフォルトの名無しさん mailto:sage [04/08/20 12:51]
>>62
if (WScript.Arguments.length != 1) WScript.Quit();
var file = WScript.Arguments(0);
var folder = file.substr(0, file.lastIndexOf("\\"));
var shell = WScript.CreateObject("Shell.Application");
var shFolderItems = shell.NameSpace(folder).Items();
for (var i = 0; i < shFolderItems.Count; i++) {
var item = shFolderItems.Item(i);
if(item.Path == file) {
if (item.IsLink) {
var target = item.GetLink.Target;
shell.ShellExecute("explorer.exe", "/select,\"" + target.Path +"\"");
} else {
shell.ShellExecute("explorer.exe", "/select,\"" + file + "\"");
}
break;
}
}


70 名前:デフォルトの名無しさん mailto:sage [04/08/25 12:50]
VBScriptでGUIDは作れんですか?

71 名前:デフォルトの名無しさん [04/10/26 21:29:41]
すでに起動しているアプリケーション(ウィンドウ)を
ひとつだけ最小化させるWSHプログラムは組めますか?

アプリケーション名はわかりますが、
ウィンドウ名は先頭から10数文字までは固定ですが
その後ろは不定なので正規表現とかで指定になると思います



72 名前:デフォルトの名無しさん mailto:sage [04/10/27 00:26:03]
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate("Title")
WScript.Sleep 100
WshShell.SendKeys("%( N)")


73 名前:デフォルトの名無しさん [04/10/27 06:54:57]
クリップボードにStringを書き込み方法を教えてください。

74 名前:デフォルトの名無しさん mailto:sage [04/10/27 09:45:57]
>>72
(゚∀゚)サンクスコ

75 名前:71 mailto:sage [04/10/27 10:02:28]
>>72
この方法だと、対象アプリがすでに最小化されていたときにも
一度フォアグラウンドに引っ張ってきて、その上で最小化しますね
またSendkeyはフォアグラウンドのアプリに送られるっぽいから
対象アプリが最前面に来る前に100ms経ってしまうと
違うアプリが最小化されてしまいました
直接対象アプリにSendkeyするのってなんか方法ありましたっけ?

76 名前:72 mailto:sage [04/10/27 10:30:43]
>>75
多分無理かと。
適当にSleepの時間を調整するしかないのでは?

>>73
var str = "hoge";
var ie = WScript.CreateObject("InternetExplorer.Application");
ie.Navigate("about:blank");
while(ie.Busy){ WScript.Sleep(100); }
ie.Document.parentWindow.clipboardData.setData("text", str);
ie.Quit();

by googleの検索結果の上から3番目くらい(特殊文字の処理は省略)
一番上に出てくるやつをダウンロードしてもいいと思うけど。


77 名前:71 mailto:sage [04/10/27 13:01:09]
たまに、最前面に出てきてもアクティブにならないときもあり
そのときはsleep時間延ばしてても全然違うアプリが閉じてしまう。
むぅぅ。これ以上はWSHでは無理っぽ?

78 名前:デフォルトの名無しさん [04/10/27 21:26:28]
>>76
ありがとうございます。
調べたときにIEとか出てきて「なぜ?」って疑問も
教えてもらったclipboardDataからぐぐって
IE呼び出してるんだろうって謎も解けました。

79 名前:デフォルトの名無しさん mailto:sage [04/10/31 01:55:53]
>>76 とても、ためになりました。
str = "hoge"
Set ie = WScript.CreateObject("InternetExplorer.Application")
ie.Navigate("about:blank")
Do While ie.Busy = True
WScript.Sleep(100)
Loop

Dummy = ie.Document.parentWindow.clipboardData.setData("text", str)
ie.Quit()

当方、VBS派ですが、期待した動作でした。
これまで、IEが立ち上がって来るのかと思って使ってませんでした。
これまでは、VBO4WSH.EXE で、VBのClipboadObj を使えるように
してました。
便利だけど、インストールしないといけないのが面倒なんですよね。
ttp://rd.vector.co.jp/soft/win95/util/se303229.html


80 名前:79 mailto:sage [04/10/31 08:22:25]
SendKeys を使って、"~"や"%" を送ろうとしても、それぞれ、[Enter]や[Alt] に変換されてしまって、
ファイル名のダイアログボックスに、名前を上手く入力できず困っていました。

でも、Clipboard の中に SetData("~ %") しておいて、Sendkeys("^V")《貼り付け》
してしまえば、上手く行きそうな気がしてきました。
まだ試してないけど、あとでためしてみます。
問題を解くきっかけを作っていただき、ありがとうございました。

81 名前:デフォルトの名無しさん mailto:sage [04/10/31 12:13:38]
>>80
ttp://www.microsoft.com/japan/msdn/library/ja/script56/html/wsmthsendkeys.asp



82 名前:デフォルトの名無しさん mailto:sage [04/11/02 16:50:19]
CreateObjectもできて
dir /b | sortとかもできるWSHなスクリプトってないの?
VBSってすごい面倒。

83 名前:デフォルトの名無しさん [04/11/03 22:56:06]
WSHでセキュリティのイベントログを削除するスクリプトを
perlで作ったですがエラーがでて困ってます。
 # cscript script.pls
でコマンド実行すると
 # PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
とエラーになります。
環境はWindows XPにActivePerl 5.8.4です。
どこが悪いのでしょうか。改善点をお願いします。

以下ソースです。

use Win32::OLE;

open(LOG, "eventquery.vbs /v /fo csv /l Security |");
@data = <LOG>;
close(LOG);

$strComputer = ".";
$wmi = Win32::OLE->GetObject(
"WinMgmts:{impersonationLevel=impersonate}!//" .
"$strComputer\\root\\cimv2"
);

$colLogs = $wmi->ExecNortificaitonQuery(
"Select * from Win32_NTEventLogFile where LogFileName='Security'"
);

foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}

84 名前:80 mailto:sage [04/11/04 00:24:57]
>>81
どうもありがとうございます。こんな仕様になっていたのですね。
clipboard でのテキスト処理も使えるし、Sendkeys も小技が利くしで、
私のやりたい事の9割方は、WSHでほとんど事足りてしまいます。

85 名前:デフォルトの名無しさん mailto:sage [04/11/06 05:42:20]
>>83
何やってるのか知らんけど、colLogsが配列なら$じゃなくて@colLogsなのでは?
もし配列へのポインタなら、foreachで使うところで @$colLogs にするとか。
いずれにせよスカラー値がforeachの中にあるのは気持ち悪い。

ってWSHの話じゃないじゃん・・・


86 名前:83 mailto:sage [04/11/06 09:55:39]
>>85
エラーの場所がClearEventLog()メソッド呼び出しのところなのでWSHスレッドで良いのかなと。
VBSなら ClearEventLog() でイベントログを削除出来るはずなんですけど
perlでやろうとするとエラーになるので何故かと思って。(perl使うなって話はなしで)

87 名前:デフォルトの名無しさん mailto:sage [04/11/07 16:06:26]
>>86 (>>83)
おまえ人の話聞いてないだろ。もっと >>85 の言ってることちゃんと考えろや。

foreach $objEvent ($colLogs) {
$objEvent->ClearEventLog();
}

$objEvent が undefined だから
# PerlScript Error: (in cleanup) Can't call method "ClearEventlog" on an undefined value
になるのは当たり前だろ。


88 名前:83 mailto:sage [04/11/08 00:18:45]
>>87
foreach の ( ) の中を @colLogs としても同じく "undefined value" とエラーがでます。
@$colLogs とすると実行は出来たのですが foreach の中の処理をしてくれません。(実行しても何も起こらない)
WMIの呼び出しが間違っているんですかね?
perlでWMI扱う情報がweb上にほとんどなく、
どうすればいいのかよくわからないので知恵を貸してください。

追加で質問なんですが、文字コード/改行コードはEUC-JP/CRLFでよろしいんですか?

89 名前:83 mailto:sage [04/11/08 00:25:04]
ちなみにwebで見つけたVBでログをクリアする方法です(バックアップする処理も含まれていますが)
perlへ移植するにはどうすればよいでしょう

----------------------------------------------------------------
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate,(Backup)}!\\" & _
     strComputer & "\root\cimv2")

Set colLogFiles = objWMIService.ExecQuery _
  ("Select * from Win32_NTEventLogFile where LogFileName='Application'")

For Each objLogfile in colLogFiles
  objLogFile.BackupEventLog("c:\scripts\" & strBackupName & _
    "_application.evt")
  objLogFile.ClearEventLog()
Next

90 名前:デフォルトの名無しさん mailto:sage [04/11/08 06:13:37]
>>89
SQL使える人ならできるだろ

91 名前:85 mailto:sage [04/11/08 06:28:52]
>>83
できたぞ。喜べ。
検索キーワードは「"Win32::OLE" コレクション」。
OLEの世界のコレクションはperlの世界では単なるポインタなので、
そのままではループをまわせない。
それをどうやって扱うのか?
専用のWin32::OLE::Enumモジュールを使えばいいらしい。

以下コード。

use Win32::OLE;
use Win32::OLE::Enum;

$strComputer = ".";
$objWMIService = Win32::OLE->GetObject(
 "winmgmts:{impersonationLevel=impersonate,(Backup)}!\\\\".
 "$strComputer\\root\\cimv2");
$colLogFiles = $objWMIService->ExecQuery
 ("Select * from Win32_NTEventLogFile where LogFileName='Application'");
$enum = Win32::OLE::Enum->new($colLogFiles);

while (defined($item = $enum->Next)) {
 $item->BackupEventLog("c:\\scripts\\test_application.evt");
 $item->ClearEventLog();
}




92 名前:デフォルトの名無しさん mailto:sage [04/11/08 14:20:32]
すげー

93 名前:デフォルトの名無しさん mailto:sage [04/11/08 18:03:32]
結論、VBS使え。

94 名前:83 mailto:sage [04/11/10 10:39:32]
>>91
おおぉお!ありがとうございます!感動して目の前が潤んでいます
perlのポインタの扱いについてよく理解できてませんでした。
精進します ありがとうございました

95 名前:デフォルトの名無しさん [04/11/17 11:36:35]
JScriptから、INIファイルを読みたいのですが何かいい方法はないでしょうか?
Win32APIでいうならgetPrivateProfileStringみたいなのを探しています。
よろしくお願いします。

96 名前:デフォルトの名無しさん mailto:sage [04/11/17 18:02:53]
素直にFSOでテキストファイル処理してもたいした手間じゃないと思うけど。

97 名前:デフォルトの名無しさん mailto:sage [04/11/18 01:18:26]
ウィンドウの無いプロセスを終了→起動させたいのだけど、
終了のさせ方がわかりません。ウィンドウがあれば、
>>72でできそうなんですが。

98 名前:デフォルトの名無しさん mailto:sage [04/11/18 02:34:30]
>>97
WMI を使う。
www.microsoft.com/japan/technet/scriptcenter/process/scrpcs07.mspx


99 名前:97 mailto:sage [04/11/20 01:43:21]
>>98 有難う! と言いたいのですが、WSHでないのが残念! です。

100 名前:デフォルトの名無しさん mailto:sage [04/11/20 03:18:16]
そいつは残念だ。

101 名前:デフォルトの名無しさん [04/11/22 15:07:28]




102 名前:デフォルトの名無しさん [04/12/27 21:23:04]
 


103 名前:デフォルトの名無しさん [05/01/12 07:48:35]
msgbox("新年あけましておめでとうございます")

104 名前:デフォルトの名無しさん mailto:sage [05/01/12 17:42:38]
質問スマソ。WSHでIEオブジェクトを扱った時、ページ内のJavaScript Functionって
呼べないのかな・・

105 名前:デフォルトの名無しさん mailto:sage [05/01/12 23:23:14]
IEオブジェクトはWindows 2000である条件のもとだと使えネェな。
といってもその条件が特殊だからあんま意味ないか。

106 名前:デフォルトの名無しさん mailto:sage [05/01/12 23:37:41]
>>104
ページ内のスクリプト各関数は
大抵ボタンやリンクのonClickなんかに関連づけられてるから
そのイベントをfireEventするってのは?




107 名前:デフォルトの名無しさん [05/01/21 00:49:26 ]
すみません、全くの初心者なんですが、Wordのマクロから、
別のところに保存してある.vbsファイルを実行したいのです。
(要はWordで今選択している単語を、
コピーして別のアプリのウインドウに貼付けしたい)
Wordのマクロでとりあえず
Selection.Copy
でコピーはできたのですが、その後、
(1)別のアプリの起動
(2)そのアプリへの貼付け
がどうやるかわかりません。
どなたかどうぞよろしくお願いします。

108 名前:デフォルトの名無しさん mailto:sage [05/01/21 00:57:43 ]
shell
sendkey

109 名前:デフォルトの名無しさん mailto:sage [05/01/21 00:58:57 ]
>107
WScript.Run
Sendkey

110 名前:デフォルトの名無しさん mailto:sage [05/01/21 01:15:59 ]
WSHがマルチスレッドに対応!
かと思って
ぅぉ
っと声を上げてクリックしてしもたorz

111 名前:デフォルトの名無しさん [05/02/25 06:44:32 ]
society3.2ch.net/test/read.cgi/hosp/1103732549/14-
このスレッドの14番、15番は、
www.roy.hi-ho.ne.jp/mutaguchi/wsh/wshtop.htm
ここで、公開されているスクリプトです。
このスクリプトを変形して、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出したいです。
ツリー構造はいりません。
私は、シェルうんぬんでわけがわからなくなりました。
虫のいい話ですが、どなたかお助け下さい。



112 名前:デフォルトの名無しさん mailto:sage [05/02/25 07:05:15 ]
>111
ややこしいと思うならshellを使わずにD&Dのみで作ればいいんじゃない?
ツリー構造いらないならそんなに難しいものでもないが。

113 名前:111 [05/02/25 07:18:11 ]
>>112
これを機会にWSHを身に着けたいんです。

114 名前:デフォルトの名無しさん mailto:sage [05/02/25 07:27:01 ]
|д・)つC:\>tree TARGET_DIR /a /f > OUT_FILE

115 名前:111 [05/02/25 08:00:18 ]
どうも有り難うございます。 >>114
つーか、私が最終的にやりたい事は、
ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち.jpg 2.100
あやや.mp3 45.777
つんく.txt 300
 ‥‥
とゆう名の0KBのテキストファイルを作りたいんです。
これを1発でやるには、WSHが最適だと思うのですが、どうでしょう?

116 名前:デフォルトの名無しさん mailto:sage [05/02/25 10:02:49 ]
>>115
そうですね。そう思います。

117 名前:114 mailto:sage [05/02/25 10:07:24 ]
ちゃんと読んでなかった。流して。
そんなに難しいことじゃないので、そのうち自己解決するでしょう。
あと、どこがわからないのかを書くといいと思う。

118 名前:111 [05/02/25 10:08:13 ]
www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson9.htm
Dim WSHShell
Set WSHShell = CreateObject("WScript.Shell")
これは、1行目でWSHShellの変数の宣言をしてから、セットしてるのに、

society3.2ch.net/test/read.cgi/hosp/1103732549/14-
Dim sLine,sRootDir,sOutFile
Set Fs = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell = WScript.CreateObject("Shell.Application")
これは、Fs、Shellを変数の宣言をしないでセットしてるのが疑問です。

119 名前:111 [05/02/25 11:08:25 ]
society3.2ch.net/test/read.cgi/hosp/1103732549/14-

Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合

'はレム文の始まりだと思うけど、何で1行に2つあるのか、わかりません。

120 名前:111 [05/02/25 11:24:41 ]
つーか、大昔にクイックCをちょこっとだけ、かじった事があるんですが、
始めから、
WScript.Echo "終了"
ここまでが、メイン関数
Sub Search(obj)
ここから最後までが、呼ばれる関数ですよね?
で、
Search oRootDir.Items.Item 'oRootDir.Self 'Win2000の場合
ってことは、Win2000以外の場合は、Search(obj)を使わない、って事ですか?

121 名前:デフォルトの名無しさん mailto:sage [05/02/25 12:36:50 ]
>>118
BASICは変数宣言しなくてもいいのです。

>>119-200
Win2000の場合は
Search oRootDir.Self
にしろって意味です。



122 名前:401 [05/02/25 23:26:19 ]
>>121
そうですか、レス有り難うございます。

society3.2ch.net/test/read.cgi/hosp/1103732549/14-
つーか、誰かこのスクリプトを削って、
フォルダ内(1層でいい)のファイル名+サイズをテキストに書き出すのみのスクリプトを書いてくれないかな?
複雑すぎてわかりません。

123 名前:デフォルトの名無しさん mailto:sage [05/02/26 00:02:25 ]
>>122

Set fso = CreateObject("Scripting.FileSystemObject")
Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In src.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next


124 名前:111 [05/02/26 01:49:25 ]
>>123
うわあー、すばらしい、有難うございます。 感謝感謝です。
これで、HDDの整理に取り掛かれます。 感激です。

125 名前:111 [05/02/26 22:00:52 ]
すみません、更なるお願いです。
>Set src = fso.GetFolder(InputBox("コピー元フォルダ"))
コピー元フォルダを自分で入力するのが面倒。マウスだけで入力したい。

>Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
これも面倒。自動で、C:\COPYフォルダ作りそこに入れて欲しい。
あと、ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
 ‥‥
と、元のファイルの拡張子は省略して欲しい。
どうでしょうか?

126 名前:デフォルトの名無しさん mailto:sage [05/02/26 22:57:43 ]
>>125
「自分で入力するのが面倒。マウスだけで入力したい。」という君に
www.vector.co.jp/soft/winnt/util/se083048.html

「これも面倒。自動で、C:\COPYフォルダ作り」という君に
www.vector.co.jp/soft/win95/util/se241498.html


127 名前:111 [05/02/26 23:09:58 ]
www.roy.hi-ho.ne.jp/mutaguchi/wsh/object/shell.htm

Set Shell=Wscript.CreateObject("Shell.Application")
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください")
MsgBox f.Items.Item.Path '選択したフォルダ名を表示

これを試してみると、2行目、文字1で、引数の数が一致していません。または不正なプロパティをしていしています。
'Shell.BrowseForFolder'  コード、800A01C2 ソース、VBScript 実行時エラー
となってしまいます。

128 名前:111 [05/02/26 23:11:45 ]
WSHで、お願いします。 >>126

129 名前:111 [05/02/26 23:21:27 ]
つか、>>127は解決しました。2行目が間違いでした。
Set f=Shell.BrowseForFolder(0,"フォルダを選んでください",0)
引き続き、>>125をお願いします。

130 名前:111 [05/02/26 23:50:16 ]
>>123さんのソースをいじって、
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set Shell=Wscript.CreateObject("Shell.Application")
Set MOTOf=Shell.BrowseForFolder(0,"コピー元フォルダを選んでください",0)
Set dest = fso.GetFolder(InputBox("コピー先フォルダ"))
For Each f In MOTOf.Files
Set ts = dest.CreateTextFile(f.Name & " " & f.Size, False)
ts.Close
Next
とやってみました。コピー先フォルダの入力までは出来るんですが、
それ以後、エラーが出ます。
行5、文字1、オブジェクトでサポートされていないプロパティまたはめそっどです。
'MOTOf.Files' コード、800A01B6 ソース、VBScript 実行時エラー
となってしまいます。

131 名前:デフォルトの名無しさん mailto:sage [05/02/27 00:02:07 ]
>111
つか、これを機会にWSHを身に着けたい、と言うなら、
1日ぐらいは自分で悩んで手を動かしてぐぐってトライアンドエラーを繰り返してみなさい。
それでどうしてもわからなければ聞きに来れば誰か教えてくれるかも知れない。



132 名前:デフォルトの名無しさん mailto:sage [05/02/27 00:04:24 ]
copyFolder = "C:\COPY"
Set objShell = CreateObject("Shell.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(copyFolder) Then
fso.CreateFolder(copyFolder)
End If
Set objFolder = objShell.BrowseForFolder( 0, "フォルダ選択", 0 )
If objFolder is nothing Then
WScript.Quit
End If
Set file = fso.CreateTextFile( copyFolder & "\FILES.TXT", True )
Set objFolderItems = objFolder.Items
For Each f In objFolderItems
If Not f.IsFolder Then
file.WriteLine( f.Name & vbTab & f.Size )
bname = fso.GetBaseName(f.Path)
name = copyFolder & "\" & bname & " " & f.Size
fso.CopyFile f.Path, name
fso.DeleteFile(f.Path)
End If
Next

133 名前:111 [05/02/27 00:11:18 ]
>>132
おお、有難うございます。ちゃんと動きました。 感謝します。

134 名前:デフォルトの名無しさん mailto:sage [05/02/27 00:53:13 ]
>>111
・・・勉強しろよ

135 名前:111 [05/02/27 02:02:36 ]
>>134
へぇ、勉強します。 つか、なんで>>130がエラーになるのか説明出来ますか?

136 名前:デフォルトの名無しさん mailto:sage [05/02/27 02:23:55 ]
>135
ぐぐってる?
BrowseForFolderで取得できるFolderオブジェクトと
FileSystemObjectのFolderオブジェクトとは別のものだから。
BrowseForFolderのFolderオブジェクトにはFilesコレクションがない。

137 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:00:10 ]
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。

138 名前:111 [05/02/27 03:54:04 ]
>>136
要するに、2つの系列の異なるオブジェクト間でのデータのやり取りが出来ない、ってことですか?
だから、>>132のプログラムは
苦肉の策として、テキストファイルにデータを書き出し、それを再読してる、と。
これってビジュアルベーシックの仕様ですか?

139 名前:111 [05/02/27 04:00:31 ]
とはゆうものの、>>123さんと>>132さんには非常に感謝してます。

140 名前:デフォルトの名無しさん mailto:sage [05/02/27 04:17:52 ]
>138
違う。
Shell.ApplicationとScripting.FileSystemObjectにはたまたま同じ「Folder」という
名前のオブジェクトがあってよく似た構造をしてるけど、実際には全く違うもの。
だから当然使い方も違う。
BrowseForFolderのFolderオブジェクトはFilesというプロパティはない。
BrowseForFolderのFolderオブジェクトからはItemsというコレクションで取得して
FileかFolderかを判別する必要があるの。

FileSystemObjectから取得したFolderオブジェクトであれば>130でOKだった。

141 名前:デフォルトの名無しさん mailto:sage [05/02/27 10:20:02 ]
>>111
(ry



142 名前:デフォルトの名無しさん mailto:sage [05/02/27 12:54:11 ]
>>111
早く死ねよお前

143 名前:デフォルトの名無しさん mailto:sage [05/03/01 06:12:31 ]
WSHか…
仕事中にコソーリ、トランプゲーム組む時に使う程度かな
一見エディタ開いてコード書いてるわけだが、
んなことしてるなんざ、周りに言えないな…w

144 名前:111 [05/03/02 11:56:42 ]
>>132
つか、これ俺の希望とは違うわ。

ターゲットのフォルダに、
なっち.jpg 2.100 KB
あやや.mp3 45.777KB
つんく.txt 300KB
 ‥‥
とあったら、別のフォルダに、
なっち 2.100
あやや 45.777
つんく 300
 ‥‥
と、拡張子のない、0BYTEのテキストファイルを作って欲しい
あと、元ファイルは消さない
です。

145 名前:デフォルトの名無しさん mailto:sage [05/03/02 12:07:36 ]
>>144
あなたの主張は理解できました。

がんばってくださいね

146 名前:デフォルトの名無しさん mailto:sage [05/03/02 13:33:44 ]
@echo off
for %%I in (%1\*.*) do type nul>"%2\%%~nI %%~zI"

147 名前:デフォルトの名無しさん mailto:sage [05/03/02 19:38:35 ]
ここは111様にみんなで貢献するスレッドです。
勉強しろとかぐだぐだ言わずに、111様がお聞きになられたことに素早く答えましょう。


148 名前:デフォルトの名無しさん mailto:sage [05/03/02 23:27:09 ]
132は111が戻ってこれないよう元ファイルだけじゃなくて
全てのファイルを消すようにしておきゃよかったのに。

149 名前:デフォルトの名無しさん mailto:sage [05/03/03 01:26:38 ]
どっかに「リクに答えてスクリプトを作るスレ」って無かったっけ?

150 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:22:33 ]
ソフト板にあったような。スクリプト限定じゃないけど

151 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:51:37 ]
「こんな」でスレ検索するとごろごろ引っかかるな。



152 名前:デフォルトの名無しさん mailto:sage [05/03/03 04:52:36 ]
pc5.2ch.net/test/read.cgi/tech/1086143976/
pc5.2ch.net/test/read.cgi/tech/1046576456/


153 名前:デフォルトの名無しさん mailto:sage [05/03/05 06:11:22 ]
すみません。Irvineスレで聞くべきなんですが、全く、反応が無いんです。
IrvineのRegistDateやSuccessDateのフォーマットって何なのかご存知の方、いらっしゃいますでしょうか?






[ 続きを読む ] / [ 携帯版 ]

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

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