ファイルサーバー上のファイルのフルパスを取得する方法とは?

このQ&Aのポイント
  • ネットワークドライブZにファイルを割り当てている場合、フルパスを取得する方法が知りたいです。
  • 社員によってネットワークドライブZのパスが異なるため、ファイルのフルパスを示す際に困っています。
  • フルパスを簡単に取得できるソフトウェアは存在するのでしょうか?
回答を見る
  • ベストアンサー

ファイルサーバー上のファイルのフルパスを取得したい

ネットワークドライブZ:に、 \\my_serv\files\docment\project1\1st_meeting を割り当てているとして、 Z:\hoge.xlsのフルパスを \\my_serv\files\docment\project1\1st_meeting\hoge.xlsと取得する 方法orソフトを教えてください。 ところが、社員によってZ:が「\\my_serv」だったり、「\\my_serv\files\docment」 だったりと不統一なので、メールでパスを示す際など file:///\\my_serv\files\docment\project1\1st_meeting\hoge.xls などと示さなければなりません。 なので、いつも マイネットワーク→ネットワーク全体→Microsoft Windows Network→ ドメイン名→my_serv...(以下略)と、たどって、 「\\my_serv\files\docment\project1\1st_meeting」という文字列を エキスプローラのアドレスバーから拾っています。 FileVisorや、ClipNameなどフルパスは取得できるソフトはいくつかありますが、 Z:\hoge.xls と取得されてしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • caceres
  • ベストアンサー率43% (61/140)
回答No.1

面白そうなので今、試してみたのですが コンピュータの管理 でファイルサーバーにログインすると共有フォルダ|共有に絶対パスが表示されます。 PC名とこの文字列から絶対パスになりますね。 APIを調べればプログラムで作れそうですが取り急ぎご報告まで。

litton101
質問者

お礼

面白いアプローチですね。 APIがわかったら Vectorとかに是非公開してください! ご教示ありがとうございました。

関連するQ&A

  • パスを使ってファイルを開く

    ファイルダイアログでパス取得を行った後に、 そのパスを使ってファイルをコピーということは出来るでしょうか? 行ってほしい動作としましては、 ・ファイルダイアログでパス取得 ・そのパスを使ってファイルをコピー としたいのです。 ちなみに、コピーするためのコードは Call Shell(Environ$("COMSPEC") & " /C COPY ""C:\AAA.xls"" Z:AAA.xls") といった、絶対パスによるコピーになっています。 何故、パス取得が必要かといいますと元ファイルの場所が変わることがあるからです。 どうしても分からないので方法あるようでしたら教えてください。

  • 表示されているファイルの完全パスの取得

    Windows上で、最前面に表示されているOfficeファイルの 完全パスを取得したいのですが、方法がわかりません。 GetForegroundWindowにてハンドルを取得し、 GetWindowThreadProcessId → EnumProcessModules → GetModuleFileNameExで、取得できるのは当然のことながら、 起動したOfficeアプリの完全パス(C:\Program Files~\POWERPNT.EXE等)に なってしまいます。 取得したいのは、アプリの完全パスではなく、 ファイル自体の完全パス(C:\Documents and Setting~新規ファイル.ppt等)なんですが、 どうにかして、最前面に表示されているウィンドウ(Officeアプリ)から 表示しているファイル自体の完全パスを取得する方法はないでしょうか? よろしくお願いします。 開発環境:Visual Studio2008 / C++プロジェクト

  • 引数の値をURLのパスに配列として代入

    ■1.下記の1.cgiからURLに引数として 1.cgi?hoge=●● で2.cgiにhogeの値を送ります。 2.cgiでhogeの値を受け取り、 テンプレートファイルを表示の際に下記のように、 ファイルのパスに取得したhogeを指定しようと思いますがうまく動作しません。 具体的な指示の仕方をご教示いただけないでしょうか? 宜しくお願いいたします。 my $hoge1 = '../../htdocs/●/●/●/'; my $hoge_2 = $hoge; my $hoge_ok = '$hoge1/$hoge2'; $template = $hoge_ok;

    • ベストアンサー
    • Perl
  • Windowsでファイルのフルパスを簡単に取得する方法

    Windowsでファイルのフルパスを簡単に取得する方法 こんにちは。 Windowsでファイルのフルパスを簡単に取得する方法はありますでしょうか? たとえば、 C:\Windows\Downloaded Program Files\FP_AX_CAB_INSTALLER.exe をメールに転記(ペースト)したい場合、 (1)エクスプローラのフォルダのアドレスをコピーして、 (2)F2キーを押してファイル名を変更の状態にして、その名前をコピー という手順でやっています。 これを簡単に実現したいのですが、フリーソフトか、Windows標準の機能であれば 教えて頂けますでしょうか。 OSはWindows XPと、Windows7の両方です。 すみませんが、よろしくお願いします。

  • PerlでUTF8をEUCに変換

    こんにちは、お力を貸して下さい。 OSX上で日本語のファイル名を取得し そのファイル名をeucに変換しようとすると 半濁音付きのカナが文字化けを起こしてしまうのです。 Web上で “$euc = Jcode($euc, 'utf8')->z2h->h2z->euc;” で、できないこともないみたいだったので、さっそくやってみたんですが… 変換したいファイル名は、「1ドキュメント」とします。 -------------------------------------- #!/usr/bin/perl use strict; use Jcode; my $path = "パスがはいっている"; my @files; opendir DIR, $path; @files = grep /^1/ && -f "$path/$_", readdir(DIR); closedir DIR; foreach (@files) { my $euc = $_; $euc = Jcode->new($euc, 'utf8')->z2h->h2z->euc; print "$euc\n"; } exit; -------------------------------------- 結果:1ト〓キュメント やっぱり文字化けしましたTT 新しい解決法がありましたら、よろしくお願いします。

    • ベストアンサー
    • Perl
  • ファイル名の取得ができません

    今VBAでユーザフォームにコンボボックス一個を作りました。本来なら コンボボックスの値を選択し、ボタンを押して対応するファイルを読み込んで必要の値を取得したいですが・・・  今問題になったのは読み込みファイルの名前は固定ではないですが、 うまくファイルの読み込みが出来ません。ファイル名は "作業実績入力表_2009年07月_【山田 太郎】.xls" ,"作業実績入力表_2009年08月_【坂本 太郎】.xls ", "作業実績入力表_2009年09月_【柳 太郎】.xls"いう風になっているけど 月の番号は変わるものですので 普通の方法で指定したら(BaseFileName As String = "作業実績入力表_2009年07月_【山田 太郎】")来月からソースまた変更しないといけない・・ 来月:"作業実績入力表_2009年08月_【山田 太郎】.xls" コンボボックス選択用値は山田 太郎、坂本 太郎、柳 太郎です。 山田 太郎を選択したら”作業実績入力表_2009年07月_【山田 太郎】.xls”のファイルを読み込みたい 名前をどう指定したらいいでしょうか?ご教授のほどよろしくお願いします。 Dim OrgPath As String, Fname As Variant Const BaseFileName As String = "作業実績入力表_2009年07月_【" Const BaseFileName1 As String = "】" Const myPath As String = "C:\Documents and Settings\rin-binyan.HALINC\My Documents\test\" OrgPath = ThisWorkbook.Path If Dir(myPath & BaseFileName & ComboBox2.Value & BaseFileName1 & ".xls") <> "" Then Workbooks.Open myPath & BaseFileName & ComboBox2.Value & BaseFileName1 & ".xls" Else Application.Dialogs(xlDialogOpen).Show (BaseFileName & "*.xls") End If LineEnd: ChDir OrgPath 固定のファイルしか指定できないですが・・・

  • HTML内に組み込んだVBScriptでExcelの値を取得したい

    ローカルドライブに C:\Book1.xls があります。 VBScriptで下記の記述をして、拡張子.vbsで保存し、そのファイルをダブルクリックすると、メッセージボックスにC:\Book1.xls のシート「管理」のセルA1の値を表示することができます。 Set objExcel = WScript.GetObject("C:\Book1.xls") WScript.Echo objExcel.Sheets("管理").Cells(1,1) これと同じようなことをHTML内に埋め込んだVBScriptでやりたいと考えています。 C:\Book1.xls のシート「管理」のセルA1に入力されている値を取得して、document.write を使って書き出したいと考えています。 出来れば、ネットワーク上のパスに置かれたExcelファイルに対しても同様のことをしたいと考えています。 サンプルコードなどをご教授願えないでしょうか?

  • EXCELマクロでブック内のリンク状態を取得する方法

    ブックが外部参照していると、取込時にエラーになってしまうソフトを使っています。 事前にEXCELマクロでブック内のリンクの状態の取得することで、エラーを回避できればと思っています。 外部参照、リモート参照ともに更新せずにブックを開くのは下記の方法でできそうなのですが、そこから先の方法が解らず困っています。 Workbooks.Open Filename:="C:\My Documents\リンク元.xls",UpdateLinks:=0 =[リンク先.xls]Sheet1!$A$1+[リンク先.xls]Sheet1!$A$2 条件1:このリンク先は「パス」も「ファイル名」も変動します。 条件2:無条件で値貼り付けはできません。

  • バッチファイル エクセル起動

    いつも大変御世話になっております。 WindowsVISTA環境で以下バッチ【ABC.bat】が稼動します。 "ABC.bat"------------------------------------------------- "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" "F:\EXCEL_OPEN\ABC.xls" echo %ERRORLEVEL% pause "ABC.bat"------------------------------------------------- 上記バッチの構文について3点質問があります。 (1)OS等が変わった場合、EXCEL.EXEの格納パスも変更するので   当然変更しなければいけないのでしょうか? (2)上記バッチを起動する前に他のエクセルを開いていた場合(例えばDEF.xls)、  ABC.xlsとDEF.xlsを両方閉じなければバッチの後続処理が動きません。  ABC.xlsだけ閉じてバッチの後続処理を動かす事は可能なのでしょうか? (3)上記構文でエクセル(マクロ)からエラーレベルを取得できるのでしょうか?  ※上記バッチで開くエクセルは開いたら自動でマクロが動きます。 もしご存知の方がいらっしゃるようでしたら、ご教授願いますでしょうか? 以上、何卒宜しくお願い致します。

  • 環境変数のPATHの追加について

    宜しくお願いします。 新しいソフトの導入で会社の全端末に、PATHの環境変数を追加登録する必要が出てきました。 台数が多いので、手入力ではなくPGMを作成して導入したいと考えています。 PGMを作成し、実行後に必要なパスが既存のPATHの環境変数の最後に追加されているのですが、結果なぜかコマンドプロンプトを起動後に「IPCONFIG」等を入れると認識されなくなりました。(起動はされます) 同様に他に影響を及ぼすと怖いので間違いがあれば指摘を頂きたく思います。 原因が全く解らず、新しいソフトの導入に手を焼いています。 問題点等、ご指摘を居ただければ幸いです。 ■OS Windows2000 <以下作成したPGM(WFS)の内容> <?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?> <package> <job id="environment"> <?job error="true" debug="true" ?> <object id="objFs" progid="Scripting.FileSystemObject" /> <script language="VBScript"> <![CDATA[ Set WshShell=WScript.CreateObject("WScript.Shell") ' 環境変数の情報を管理するWshEnvironmentオブジェクトは、WshShellオブジェクトのEnvironmentプロパティを介して取得することができる。Environmentプロパティの引数には、環境変数の種類を指定する Set WshEnvironment=WshShell.Environment("SYSTEM") ' 環境変数名がPathである場合には、既存の値を消去しないように、既存の値の末尾にセミコロン(;)区切りで新しい値を連結する。既存の値を取得するには、ExpandEnvironmentStringsプロパティで「%環境変数名%」を指定すればよい。 If Right(WshEnvironment.Item("Path"),1)=";" Then WshEnvironment.Item("Path")=WshEnvironment.Item("Path") & "D:\Program Files\newlook 6.1\NewLookLaunch" Else WshEnvironment.Item("Path")=WshEnvironment.Item("Path") & ";" & "D:\Program Files\newlook 6.1\NewLookLaunch" End If ]]> </script> </job> </package> 作ってもらったPGMなのですが、特におかしそうな部分はないのでは? と考えています。 何卒アドバイスを宜しくお願いします。 宜しくお願いします。