VBSで便利なプログラムを作れスレ

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/02/03(土) 17:49:47
素人丸出しお粗末で遅くてもいいので
いますぐ使えるちょっぴり便利プログラムを作れ

(例○○を自動処理してくれるプログラム)
2010/01/02(土) 21:28:53
ワードとエクセルならそういうフリーソフトがすでにあるけどな
ページ番号がついたかどうかは知らんが
2010/01/05(火) 23:43:38
>>265
VBSでそういう横断的でかつ細部に至る要求なんて書けたかなってかんじ
ユーザインタフェースへの入力を自動化するのならuwscとかあるんだけど
2010/02/15(月) 21:42:27
文字列連結.vbs

Function J(arrArg)
J = Join(arrArg, "")
End Function

Wscript.Echo J(Array(1, 2, 3, 4, 5, "A", "B", "C"))

&記号に疲れたひと用
2010/02/16(火) 23:08:22
どこで聞いたらいいのかわからないので、スレ違いを承知でお聞きしたいのですが、
現在Windows 2003 Serverメインの環境でActive Directoryの運用中です。

ユーザアカウントの新規作成は全て手動で行っているのですが、何とかWSHやADSIを使って
CSVファイルから一括で登録処理を行えるようにしたいと思っています。

しかし、プログラムはおろかコードやスクリプトなど今まで全くさわったことが無いので
ネット上で公開されているサンプルなどを見ても、何を意味しているのかがほとんどわかりません。
勉強するに当たって、参考になる書籍やサイト、別スレなどがあればアドバイスをお願いします。
2010/02/16(火) 23:16:13
>>269
このあたりが基本
http://technet.microsoft.com/ja-jp/scriptcenter/default.aspx
スクリプト一覧からカテゴリ別サンプルが探せる
271269
垢版 |
2010/02/17(水) 00:37:23
>>270
ありがとう。
そこも見たんだけど、そもそも一つ一つのメソッドがどういうオブジェクトを生成してるのかや、
何故それをしなければならないのか、っていうところからわからなくて困ってる。

Set objCommand = CreateObject("ADODB.Command")
なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。

Scripting guysなんかも読んでるけど、突然理解が追いつかなくなるんだ…
才能無いから諦めた方がいいのかと悩んでしまう
2010/02/17(水) 00:50:43
>>271
あきらめるの早すぎ。
ADOは一度使い方を覚えれば使いまわせるよ。

VBSでWSHやる前に、
ExcelのVBE環境で色々試してみてはどうか?
ADOもADSIも使えるよ。
デバッガで変数の中身を確認できるので、イメージが膨らむはず。
2010/02/17(水) 01:06:45
>Set objCommand = CreateObject("ADODB.Command")
>なんかはドメコンに接続するときにおまじないのように書かれてるけど、これに限らず何をするためのものかわからないレベル。
>例えば上記の構文だと、objCommandって変数にどういうオブジェクトが当て込まれてるのかや、
>その内容を確認する方法すらわからなくて、ただただ途方に暮れてる。

気にすんな
ほとんどの自称プログラマはそこらへんのサンプルコピペして
意味も判らず使ってるだけのレベル
わからんでもこねくりまわしてるうちにとりあえず動く

全部判って書いてる香具師の方が少数だから安心汁
274269
垢版 |
2010/02/17(水) 01:23:56
>>272>>273
アドバイスサンクス。
3ヶ月程悩み続けてたんだが、プログラムとスクリプトの違いすらわからないくらいに初心者なもんで、
参考になる本も探してみたけど、どれも求めているものとは違うから挫けかけてた。

ExcelとかAccessのVBAだと、変数の宣言とかコマンドのプロパティが若干違ってくるから
あえて敬遠してたけど、そっちでも色々試してみる。
もっとも、WSHだと変数はWScript.Echoで確認できるけど、生成したオブジェクトの確認方法が不明だったから
コピペしてきたサンプルが何のために何をしてるのかわからなくて、
その度に途方に暮れてたけど、ちょっと頑張れそうな気がしてきた。

また分からなかったら初心者丸出しの質問をするかもしれないけど、
とりあえず明日から改めて出直してくる。

本当にありがとう!!
2010/02/17(水) 01:38:07
キーワードと "MSDN" をあわせてググレばたいていの説明は出てくる。
2010/02/21(日) 17:08:50
test
<pre>
p
</pre>
2010/02/21(日) 17:29:45
文字列の一部をコメントアウトする.vbs

Wscript.Echo "" _
& "aaa" _
& "bbb" _
& C("" & "ccc" _
) & "ddd" _
& ""

Function C(strArg)
C = ""
End Function

rem とかじゃだめなのさ
2010/02/28(日) 16:55:49
文字列の一部をコメントアウト2.vbs

Set objDic = CreateObject("Scripting.Dictionary")
i = 0
i = i + 1 : objDic.Add i, "cmd.exe /c"
i = i + 1 : objDic.Add i, "("
i = i + 1 : objDic.Add i, "dir /w"
rem i = i + 1 : objDic.Add i, "|"
rem i = i + 1 : objDic.Add i, "sort /r"
i = i + 1 : objDic.Add i, "|| (pause & exit)"
i = i + 1 : objDic.Add i, ")"
i = i + 1 : objDic.Add i, "&& (echo well done. & pause)"
strCommandLine = Join(objDic.items, " ")
CreateObject("Wscript.Shell").Run strCommandLine
2010/04/21(水) 01:42:59
だれかEXECメソッドの使い方教えてください;;
ググっても分からない。。
2010/04/21(水) 06:59:22
wordの.docファイルに埋め込まれた画像をbmpで取り出すプログラムを書いています
Office2003以降のwordがインストールされているPCからだとうまく取れたのですが
OfficeXP以前のwordがインストールされているPCだとうまく動きません
どちらもword2000形式で保存されているファイルに対して操作しています
OfficeXP以前のwordがインストールされているPCでも動くように書くにはどうすればよいですか
2010/04/21(水) 07:42:42
>>279
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=e74494d3-c4e1-4e18-9c6c-0ea28c9a5d9d
scd56jp.exeが日本語版ドキュメントだったはず。
2010/06/09(水) 01:05:23
vistaでファイルを選択するためのダイアログ ボックスを表示するには?
Hey, Scripting Guy! にあった

Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "All Files|*.*"
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
Wscript.Quit
Else
Wscript.Echo objDialog.FileName
End If


では1行目でエラー
ActivXコントローラはObjectを作成できないそうです
2010/06/09(水) 02:17:23
>>282
XPでファイルを選択するためのダイアログ ボックスを表示するには?
の間違いだろ。
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/oct07/hey1026.mspx
2010/06/28(月) 17:05:36
>>282
http://technet.microsoft.com/ja-jp/scriptcenter/ee695752.aspx
>UserAccounts.CommonDialog オブジェクトは、セキュリティ上の問題から Windows Vista で廃止されました。
285デフォルトの名無しさん
垢版 |
2010/07/05(月) 11:44:59
VBSって何?
2010/07/05(月) 11:59:08
Virtual Big Size
2010/07/05(月) 22:22:36
VESA BIOS Services
2010/07/05(月) 22:46:32
Vagina Burst Shower
289デフォルトの名無しさん
垢版 |
2010/07/06(火) 09:19:02
Visual Browsing System
2010/07/24(土) 17:30:04
数万件のデータをテキストへの書き出す方法で、軽くて早くしたいわけだが
書き出し方法としては

・データごとに直接書き込み
・変数に格納してから一括書き込み
・クリップボードに格納してから一括書き込み

の他になにかある?
配列に格納してエクセルシート経由くらいしか思い付かない
2010/07/26(月) 11:43:18
元データの格納場所がDBならSQLって手もあるな
2010/07/26(月) 13:40:13
複数箇所のフォルダ管理だからDB化は難しいかな

そして変数もクリップボードも足りなくて使えないや
数万件ファイル名に各々文字列連結して全部つぎ込むとかムリゲ
txtに書き出すなら配列に格納する意味無さそうだしなあ
2010/07/26(月) 14:02:03
クリップボード出来ないことはないが、テキストに書き出す20倍くらい時間かかってる
IEクリップボードのせいか?
VBなら早いのに

バックグラウンド処理するのにこんなに時間も負荷もかかるなら、クリップボードは使えないな
2010/07/26(月) 18:15:12
質問です!
クリップボード使ってテキスト書き出しってど〜やるの?
2010/07/26(月) 18:37:47
IE使うのが一般的かな
上がクリップボードから読み出し
下がクリップボードへ書き出し
書き出すときはクリップボードをクリアしてから格納すること
Microsoft Forms 2.0設定できればクリップボードも早くなるかもしらんが

objIE.document.parentWindow.clipboardData.GetData( "Text" )
Document.parentWindow.clipboardData.setData "text",""
2010/07/26(月) 18:40:17
いや、その後に「一括書き込み」するんでしょ?そっちのやり方。
2010/07/26(月) 19:17:44
何を聞きたいのかよくわからんが・・・
objOutFile.WriteLine strDate で書き込めるだろ
改行したいならクリップボードに格納するときに VBCRLFでつなげればテキストには反映される
2010/07/26(月) 19:27:58
いや、なにか「速い」機能があるのかと思って・・・

VBだと速いの?
2010/07/26(月) 20:30:10
そういうことか

前エクセルVBA使ってたときは、クリップボード経由のデータ貼り付けってかなり早かった気がする。
とはいえエクセルだと配列→セルが強力すぎるからあんまり使わないんだけれども。
300デフォルトの名無しさん
垢版 |
2010/09/30(木) 20:04:17
Set objFSO = CreateObject("Scripting.FileSystemObject")

set objOpenFile=objFSO.OpenTextFile("C:\hoge.txt",1,false)

msgbox "ロックちゅ〜"



なんかもんだいありまっか?
2010/09/30(木) 20:45:49
ファイルロックを同期に使うなとあれほど
2010/10/22(金) 12:09:59
WshShell.Environment("USER").Item("UNKO") = "うんこ"
Wscript.Echo WshShell.ExpandEnvironmentStrings("%UNKO%")

結果:%UNKO%

値を「うんこ」に設定できません。自分で自分の環境変数は変えられないのですか?
303302
垢版 |
2010/10/22(金) 12:35:04
自己解決しますた
2010/10/25(月) 20:30:58
以前、自動生成するファイルの拡張子に
.unk ってのを使ってたら(内容不明の場合に作るファイル)
「別に拡張子はナニつかってもいいけどさぁ
 "うんこ"ってのは、ちょっとどうなのよ」
て先輩に言われたことがあったのを思い出した。
305デフォルトの名無しさん
垢版 |
2010/10/26(火) 01:31:14
shine.unko
こんな感じですか?わかりません。
2010/10/26(火) 18:43:40
>>305
unknownだっつってんだろダラズ
2010/10/26(火) 21:42:34
うんこなうんか
2010/10/29(金) 23:53:34
>>304
Lotus Notesなんかも添付ファイルが理解できない時に吐くみたいだね>unk
個人的には3文字中「un」で2文字使うのはどうかと思うので
「UKN」の方が好きだけど(天気図等で使うが少数派…)

いっそのこと3文字にこだわらずに拡張子を「.unknown」にしちゃえば?
(dir /xなど)8.3文字表示で見ると、ちゃんと「.unk」になるし
2010/10/30(土) 03:10:54
>>308
なるほど、 .ukn か。

.unknownでもまぁ問題は無い気がするが
.unk でも十分伝わると思うんだ。
うんこって読む奴がうんこ。
2010/10/30(土) 09:52:51
むしろunkでうんこって読める先輩って
kwsk、ktkr、wktk、ksk、gkbrみたいなアブジャド系表記に慣れてる2chねらなんじゃないのかw
311デフォルトの名無しさん
垢版 |
2010/10/31(日) 22:53:19
他コンピューターのパスを返す時に、ネットワークドライブ(\A〜Z)ではなく、
\\サーバー名\フォルダ〜というようにする方法はありますか?
2010/11/01(月) 00:28:50
あります
2010/11/06(土) 00:05:55
おまえ、わざと意地悪してるだろ
同僚や部下から嫌われるタイプだな
2010/11/06(土) 00:06:48
死ねよ
2010/12/25(土) 06:45:27
久しぶりになにかをVBSで書きたい。
2010/12/26(日) 21:35:06
じゃあ「何か」を書いてみればいい。
317デフォルトの名無しさん
垢版 |
2011/01/02(日) 00:13:10
MsgBox "Hello World!!"
2011/01/02(日) 00:18:17
MsgBox "Happy New Year !"
319デフォルトの名無しさん
垢版 |
2011/01/02(日) 00:23:59
ゴサっ

--------------------
dim i
dim j

for i=1 to 1000

j=j+0.1

next

MsgBox j
2011/01/04(火) 13:34:29
TEXTファイルから
特定の文字や特定の行を抜き出す
スクリプトってない?
三次元測定機からCADに
XYZ手動で打ち込むのもういやになった。
2011/01/04(火) 15:12:23
>>320
ある。というか簡単だよ
テキストファイルを開いて1行ずつ読みながら正規表現等でチェックしていくだけ
2行以上に渡るデータだと少し面倒だけど大した手間ではない

でも仕様によってはわざわざ作らずに
SakuraエディタなどのテキストエディタのGrep機能で充分だったりするけど
2011/01/04(火) 17:00:53
textファイルをドラッグアンドドロップで

DIM LOC1= LOCATION OF CIRCLE CIR1 UNITS=MM ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 469.343 0.050 -0.050 469.343 0.000 0.000 ---#----
Y 2.106 0.050 -0.050 2.106 0.000 0.000 ---#----
Z 412.000 0.050 -0.050 412.000 0.000 0.000 ---#----
D 53.996 0.050 -0.050 53.996 0.000 0.000 ---#----
DIM LOC4= LOCATION OF CIRCLE CIR4 UNITS=MM ,$
GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
X 386.074 0.050 -0.050 386.074 0.000 0.000 ---#----
Y 2.461 0.050 -0.050 2.461 0.000 0.000 ---#----
Z 577.913 0.050 -0.050 577.913 0.000 0.000 ---#----
D 44.971 0.050 -0.050 44.971 0.000 0.000 ---#----
     ↑こんな感じの中身を
     こんな風に↓
/469.343/2.106/412.000
/386.074/2.461/577.913

XYZを/に置き換えて
さらにXYZのNOMINALの数字だけを残して
さらにデスクトップにtextで保存されるようなやつです
難しいですね、すいません
323その1
垢版 |
2011/01/04(火) 22:51:41
>>322
とりあえず作ってみた

' [仕様]
' NOMINALの位置は固定(XYZの直後)
' X,Y,Zはこの順番で必ず出現
' 数値間はスペース区切り
' 出力ファイルはデスクトップに元ファイル名(拡張しなし)_XYZ.txtというファイル名で出力
Dim fso,wshShell,regXYZ
Dim inFilePath,outFilePath,inFile,outFile,sDeskTopPath,sLine,retMatches
Dim X,Y,Z,isOutput
Const REG_XYZ_NOMINAL = "^([XYZ]) +([^ ]+) " ' 先頭XYZ の後空白があり次に空白が来るまでの値
Const OUT_FILE_TAIL = "_XYZ.txt" ' 出力ファイル末尾
Set wshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set regXYZ = New RegExp
With regXYZ
.IgnoreCase = False ' 大文字小文字区別する
.Global = False ' 先頭の一致のみ
.Pattern = REG_XYZ_NOMINAL
End With
sDesktopPath = wshShell.SpecialFolders("Desktop") ' デスクトップの取得
inFilePath = WScript.Arguments(0) ' 入力ファイル
If Not fso.FileExists(inFilePath) Then MsgBox(inFilePath & "が存在しません"):WScript.Quit
outFilePath = fso.BuildPath(sDesktopPath, fso.GetBaseName(inFilePath) & OUT_FILE_TAIL)

If fso.FileExists(outFilePath) Then
If MsgBox(outFilePath & "ファイルが存在します。上書きしますか?", vbYesNo ) = vbNo Then Msgbox "処理を中止しました":WScript.Quit
End If
324その2
垢版 |
2011/01/04(火) 22:52:49
Set outFile = fso.CreateTextFile(outFilePath, True)
Set inFile = fso.OpenTextFile(inFilePath, 1, False)
X="":Y="":Z="":isOutput = True
Do While ( Not inFile.AtEndOfStream )
sLine = inFile.ReadLine
Set retMatches = regXYZ.Execute(sLine)
If ( retMatches.Count > 0 ) Then
Select Case retMatches(0).Submatches(0)
Case "X"
X = retMatches(0).SubMatches(1):isOutput = False
Case "Y"
Y = retMatches(0).SubMatches(1):isOutput = False
Case "Z"
Z = retMatches(0).SubMatches(1)
outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
X = "":Y="":Z="":isOutput = True
Case Else
End Select
End If
Loop
if ( Not isOutput ) Then outFile.WriteLine("/" & X & "/" & Y & "/" & Z)
inFile.Close:outFile.Close
set inFile = Nothing:set outFile = Nothing:set WshShell = Nothing
set fso = Nothing:set regXYZ = nothing
MsgBox "完了"
' その1とその2の内容を一つのテキストファイルに貼り付け XYZ.vbs 等のファイル名で保存してください
325323
垢版 |
2011/01/04(火) 23:46:30
追記
ソースを短くするために複数ファイルのドラッグ&ドロップには対応していません
# 複数の関数に分かれていたのを1つにまとめたりしたので

↓辺りを参考にすれば変更は容易です
ttp://msdn.microsoft.com/ja-jp/library/cc364473.aspx
2011/01/05(水) 10:04:58
プログラム板凄すぎワロタw
ありがとうございます!
327デフォルトの名無しさん
垢版 |
2011/01/07(金) 15:49:03
どなたかリムーバブルメディアを取り出すvbs作ってください
お願いします
ジャンクのスロットローディング式のドライブ買ったらボタンがありませんでした
328デフォルトの名無しさん
垢版 |
2011/01/07(金) 16:53:37
011100111111011111
011110000111101111
001111100011110110
111010101101011101
100011101010101010
2011/01/08(土) 08:04:12
>>327
ちょっと検索すれば出てくる。少しは自力で探そう

VBSにこだわらないのなら
Vectorで「トレイ 開閉」とかで検索すればフリーソフトがいくらでもあるし

と言ってるうちに見つけた。1行で書けるのが面白かったので個人的にメモ

' 光学ドライブが1台の場合
CreateObject("WMPlayer.OCX").cdromcollection.item(0).eject()

' 光学ドライブが複数ある場合などドライブ指定が必要な時(例は Q: ドライブ)
CreateObject("WMPlayer.OCX").cdromcollection.getByDriveSpecifier("Q:").eject()
2011/01/08(土) 12:38:00
>>329
APIしか思い浮かばなかった俺には目から鱗だわ<WMPlayer
331デフォルトの名無しさん
垢版 |
2011/01/08(土) 21:00:10
>>329
もうCで作っちゃったけど
1行で済むんですね
ありがとうございました!
332こいぴ
垢版 |
2011/01/09(日) 21:54:03
業務で、VBSにデジタル署名をする必要が出ました。
各種調査しましたが、どうしても方法が解りません。
どのたか、ご教示願います。
2011/01/09(日) 23:18:39
>>332
ここが色々手順を説明しているので分かりやすいと思う
ttp://msdn.microsoft.com/ja-jp/library/ms974604.aspx
2011/01/10(月) 21:05:09
無料RPG製作ツール「ロープレジェネレーター」

 直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。戦闘はデフォだとドラクエ系。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
 他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
■分からないことや要望は掲示板へどうぞ。他にもいろいろ進化中みたい。
335デフォルトの名無しさん
垢版 |
2011/01/28(金) 13:34:09
デスクトップ上に任意の文字だけを表示するVBSを作るのはむずかしいでしょうか?
336デフォルトの名無しさん
垢版 |
2011/01/28(金) 14:47:38
>>335
目的がよくわからないけど
スクリーンセーバーでテキスを表示しておけばいいんじゃない?
2011/01/28(金) 14:52:47
>>336
目的はホットキーに埋め込まれたマクロの実行をする際に

その実行するモードがいま何になっているかをキーを押した時に数秒デスクトップ上に表示させるためです。

2011/01/28(金) 20:13:40
>>335だけ見ると、そんなの簡単じゃんって思うが。>>337は意味わからんわ。
2011/01/29(土) 01:00:36
何か文字列を数秒間デスクトップ上に表示させるってだけなら、
もし俺ならVBSではなく以下のバッチファイルで手っ取り早く済ませるんだが…

@ECHO OFF
ECHO 表示したい文字列
PING 0 > NUL
PING 0 > NUL
EXIT
2011/01/29(土) 07:18:06
それ、"デスクトップ上に"ではなく"ウィンドウ内に"だろ

それで良いならわざわざバッチファイル使わずWScript.ShellのPopupで良いはず
2011/01/29(土) 08:29:29
>>338-340
具体的なイメージで言うと
透明ウィンドウにテキストのみ表示するかバルーンメッセージ的なものを考えていたのですが
VBSで透明ウィンドウはできないっぽいのであきらめようと思います
2011/01/29(土) 09:14:11
まあ外部COM使えばどうにでもなる話ではあるが、
それ言うと他も全て「COM使え」で終わってしまう。
343デフォルトの名無しさん
垢版 |
2011/01/30(日) 22:09:09
しまうね
2011/02/01(火) 21:14:34

       +           +
         +      +
    +     シマウネ━━━━━━━!!!!  +
          /・/\__       +
     +    丶'\||||||||||)〜  +
             << ̄>/    
      _|\∧∧∧MMMM∧∧∧/|_
     >                  <
  ─ / ──┐  /_   /_ヽ|  |ヽ  ム ヒ | |
 ─ /    / / ̄ /   ̄/  | ̄| ̄ 月 ヒ | |
 __ノ   \    _ノ   //\ / | ノ \ ノ L_い o o
2011/02/01(火) 23:48:04
よろしくお願いしまう
346デフォルトの名無しさん
垢版 |
2011/02/08(火) 22:16:59
VBスクリプトで起動時にリモートデスクトップをマルチセッションで同時起動するスクリプトを書きましたよ

ttp://xbmc.inpane.com/main/omake/windows.php#rdp
347デフォルトの名無しさん
垢版 |
2011/02/09(水) 18:09:40
質問です。

フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックするやり方を教えてください。また、テキストファイルに記述されていないファイルが存在する場合もNGとしたいです。
2011/02/09(水) 19:43:41
>>347
詰まる部分があるとは思えない初歩的なプログラムな気がするんだが。
とりあえず書いた所までどこかにアップしてみてよ。
2011/02/09(水) 20:24:29
どこかにアップっていうか、ここに貼ればいいんじゃね?
そんな長いコードにはならんだろ
2011/02/09(水) 21:15:33
いや、かなり長いコードになるかもよ。
前半の
>フルパスファイル名が書かれているテキストファイルを参照し、ファイル有無をチェックする
コレは簡単だよな。悩むこたぁない。

問題は後半のコレ
>テキストファイルに記述されていないファイルが存在する場合もNG
やっかいだぜ?

考え方としては、前半の処理と、後半の処理は完全に分けて
2本の別のプログラムを書くような気持ちでコーディングすればいいんじゃないかな。
2011/02/09(水) 21:36:33
何処が厄介?

テキストに書かれたパスを連想配列に入れて
対象フォルダ内のファイルをループ回しながらExistsでチェックするだけだろ
2011/02/09(水) 21:59:35
ほらね。わかってない。
2011/02/10(木) 01:35:05
解ってないのは350。恥ずかしい、、、
354347
垢版 |
2011/02/10(木) 08:01:03
皆さんありがとうございます。

前半部分は大体イメージをつかめているのですが、後半部分でつまってます…
2011/02/10(木) 08:06:41
とにかく自分で出来る部分まで書いて貼るなりどこかにアップするなりしろ

話はそれからだ
2011/02/10(木) 11:30:54
つまり全ドライブの全フォルダを検索しなきゃならんな
2011/02/10(木) 11:48:49
普通に考えれば、対象は一部(特定のフォルダ以下)だろ
2011/02/10(木) 13:09:11
>>357
どうしてそう言い切れる。
本人はフルパスファイル名、つまり絶対パスを指定しているんだぞ
特定フォルダでいいなら相対にするだろ常識的に考えて
2011/02/10(木) 13:17:09
昨今、相対パスが使われるのは相対パスでなければ困る場合のみで
どちらでも構わない場合は絶対パスを使うことの方が多い件について。
2011/02/10(木) 15:02:25
>>347が情報小出しにするからイカンのだ
こういう質問者って大体足りてないよな色々と
2011/02/10(木) 20:22:36
>>359
zipとかの書庫ファイルはなんで相対パスで格納してるか理解できる?
何のためにカレントディレクトリって概念があると思う?
何でわざわざ%SystemRoot%とか環境変数を定義してるのか疑問に思わない?
2011/02/10(木) 20:26:38
相対パスが絶対的に必要ではない場合はって話をしてるのに
全く的はずれな例を持ってきたな

そういうことは相対パスそのものが無意味とか宣ってる奴に言ってやれ
2011/02/10(木) 21:27:12
どちらでも構わない場合、ってどういう場合だよ
レスにアンカー付けるときにわざわざ
http://hibari.2ch.net/test/read.cgi/tech/1170492587/362
なんてする奴はいないだろ
逆に「絶対パスが使われるのは絶対パスでなければ困る」時でしかないだろ
2011/02/10(木) 21:49:46
狭量なやつw
2011/02/10(木) 22:58:35
>>361
質問者はzipファイルの中身まで調べるなんて設問はして無いだろ。
なんでオマエは論点をずらそうと必死なんだ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況