ファイルパスをバックスラッシュに変換するスクリプト

In: Maya

9 11月 2007

windowsを使用していると
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ファイルを作ってアイコンにファイルをドロップすると、変換されたパスがコピーされる。
僕の場合は右クリックメニューの「送る」にスクリプトを用意してます。
sendto.gif

2 Responses to ファイルパスをバックスラッシュに変換するスクリプト

Avatar

tai

11月 21st, 2007 at 14:19:50

お疲れ様です。
WEBでははじめまして。←飲み会では度々、、
ブログ、いつも拝見しています。

ところで、コリャナイスなネタです!
クリップボードにコピーって辺りがまた良い使い勝手です。
最近JavaScriptをいじっていたので、こちらを参考にJScript版作らさせていただきました。
そのうち自分のブログでも公開させていただこうと思ってますけど、問題ないですかね?

よろしくおねがいしまーす。

Avatar

管理人

11月 27th, 2007 at 10:50:26

どもども
僕もブログいつも拝見してます(w

JScript版、全然問題ねーっす!
じゃんじゃんやっちゃって下さい!
JScriptの方がクリップボードの扱いが
シンプルに出来そうですね

Comment Form

About this blog

Computer Programming, Computer Graphics, Python, Cooking, my family and Vim Editor.

mail: info at redms dot com

Photostream

    InuitBarMomizi
  • あきを: フリーズなんて一回もしたことないね〜 safariは結構速いよ [...]
  • hossy: お~。箱白いんだね~。 速さはどーなんだろ。 こっちはちょいちょ [...]
  • 妻より: 今思い出してもあれは拷問でした。 一度でも「元から無痛分娩か帝王切 [...]
  • あきを: S式支援は普通に使ってます とかとかとか あとはコピペは使うようにな [...]
  • mynz: 自分も Scheme でコードを書くときは emacs を使用しているけど、元々素の状 [...]

TumblrRSS

tumblr

カテゴリー

アーカイブ