No Computer and Music, No Life
In: Maya
9 11月 2007windowsを使用していると
vbs(というかwsh)はなかなか便利なスクリプトだと思う。
pythonやらrubyとかだと結局ライブラリをインストールしなきゃいけないし
インストールしたらしたでバージョン管理やらがめんどくさい
何のライブラリを入れたか分かんなくなってゴチャゴチャになるし
標準で入ってるというのが如何にエラいかがよく分かる。
vbsはwindows標準で入っているので
何も入れなくともIEにもExcelにもアクセスできる。すばらしい
で、表題のスクリプト。
スクリプト実行すると”\”を”/”に変換したものをクリップボードにコピーする。
Mayaではsourceコマンドを使用するとき
ファイルパスは”/”もしくは”\\”で区切る必要がある。
僕がやっていた方法はエクスプローラからパスをとって来て
“\”を”/”にエディタの置換で変換、と
これはチマチマやっているのは面倒だったので作った訳です。
pathCopyConv.vbs
——————-
' ファイル名の取得
Dim convFilePath
Set curFilePath = Wscript.Arguments
' 正規表現による変換
Set reg = new RegExp
reg.pattern = "\\"
reg.Global = true
convFilePath = reg.Replace(curFilePath(0),"/")
' クリップボード操作用にIEのActiveXを使用
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "about:blank"
Do While IE.Busy Or IE.Document.ReadyState <> "complete"
DoEvents
Loop
' クリップボードの中身を消す
IE.Document.ParentWindow.ClipboardData.ClearData "text"
' クリップボードにコピー
IE.Document.ParentWindow.ClipboardData.SetData "text", convFilePath
IE.Quit
Set IE = Nothing
このvbsファイルを作ってアイコンにファイルをドロップすると、変換されたパスがコピーされる。
僕の場合は右クリックメニューの「送る」にスクリプトを用意してます。
![]()
Computer Programming, Computer Graphics, Python, Cooking, my family and Vim Editor.
mail: info at redms dot com
2 Responses to ファイルパスをバックスラッシュに変換するスクリプト
tai
11月 21st, 2007 at 14:19:50
お疲れ様です。
WEBでははじめまして。←飲み会では度々、、
ブログ、いつも拝見しています。
ところで、コリャナイスなネタです!
クリップボードにコピーって辺りがまた良い使い勝手です。
最近JavaScriptをいじっていたので、こちらを参考にJScript版作らさせていただきました。
そのうち自分のブログでも公開させていただこうと思ってますけど、問題ないですかね?
よろしくおねがいしまーす。
管理人
11月 27th, 2007 at 10:50:26
どもども
僕もブログいつも拝見してます(w
JScript版、全然問題ねーっす!
じゃんじゃんやっちゃって下さい!
JScriptの方がクリップボードの扱いが
シンプルに出来そうですね