• ベストアンサー

秀丸マクロ ファイルのパス取得方法

秀丸マクロでファイルのパスを取得する方法を教えてください。 filenameでフルパスを取得できるのは分かったのですが、ファイル名の無いパスを取得したいです。 filenameからbasenameを使って、ファイル名の部分を消す方法で出来ればと思ったのですが、マクロ内の文字列変数の置換方法が分かりませんでした。 すみませんがよろしくお願いします。

  • shis
  • お礼率54% (28/51)

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

$filepath = leftstr(filename, strlen(filename) - strlen(basename)); でしょうかね?

shis
質問者

お礼

leftstrという関数があったのですね。これで出来そうです。ありがとうございました。

関連するQ&A

  • 秀丸マクロで.htmlファイルをブラウザで開く方法

    こんにちは 秀丸のマクロを使って、あるファイルの内容を置き換えた後に .html ファイルとして保存しています。保存したファイルをブラウザで開くところまでマクロで行いたいのですが、どのように書けばよいでしょうか。 マクロの最後は saveas basename2 + ".html"; exit; となっています。 exit; の前の行に、「run "cmd " + filename」などと書けば起動するかと思ったのですが、コマンドプロンプトの画面が表示されるだけでだめでした。 ファイルパスには空白文字も含まれます。 よろしくお願いします。

  • ファイル名である文字列からbasenameを取得したい

    ファイル名である文字列からbasenameを(スマートに)取得したいです。 Perlでは何も考えなくてもできたのですが、C(もしくはC++)では次のようなやりかたしか思いつきません。 これでできているので問題ないのですが、何だかモヤモヤします。 また、このやり方では拡張子はピリオド含めて4文字であること前提なのもモヤモヤの原因です。 Perlのようにもっとスマートなやりかたはないでしょうか? --------------------------------- char filename[] = "test.dat"; char basename[128]; strncpy(basename, filename, strlen(filename)-4); basename[strlen(filename)-4] = '\0'; ---------------------------------

  • 秀丸マクロについて

    秀丸マクロ初心者です。 OS:XP(SP3)、秀丸:7.08を使っています。 テキストファイルのデータをファイルの先頭から一行ずつ 文字列型変数に読み込んでメッセージをだそうとしていますが うまくいきません。 コードのどこが悪いのか、もしくはもっと簡単にできるやり方などあれば 教えて頂けないでしょうか。 ■コード gofiletop; while (code != eof) { golineend; #end = x; golinetop; $str = gettext(x,y,#end,0); message $str; down; } endmacro;

  • 秀丸マクロで、一部文字列を変換後クリップボードコピーしたい

    秀丸マクロで、一部文字列を変換後クリップボードコピーしたい 秀丸マクロで、setclipboard filename;とすると、 現在開いているファイルのフルパスを取得してクリップボードにコピーすることができますが、 この際に\を/に変換して、クリップボードコピーしたいと思いますがうまくいきません。 どうすればよいのでしょうか。。 例) filenameで取得した c:\documents and settings\user\my documents\sample.txt というパスを c:/documents and settings/user/my documents/sample.txt のようにしてから、クリップボードコピーしたい。 意味不明でしたら加筆修正しますのでよろしくお願いします。

  • 秀丸で、編集中のテキストファイルまでのフルパス取得

    秀丸で、編集中のテキストファイルまでのフルパス取得 秀丸で、テキストファイルを“編集中に”、 そのテキストファイルまでのフルパスを クリップボードにコピーすることはできますでしょうか。 これに近い動作でもよいです。 意味不明でしたら加筆修正しますのでよろしくお願いします。

  • 秀丸のマクロについて

    秀丸のマクロで、以下の置換をやりたいのですが、どうしたらできるか教えてください。 商標登録の置換方法 ああああ(R) → ああああ® いいいい(TM) → いいいい™

  • 秀丸ファイル名をフルパス表示させない方法

    初めまして、質問させてください テキストエディタの秀丸についてなのですが テキストファイルを開くとファイル名がフルパスで 表示されてしまいます。 フルパス表示をさせない方法をご存じの方が いらっしゃいましたら教えて下さい。 バージョンは7.11です。

  • 秀丸マクロについて質問です。

    秀丸マクロについて質問です。 秀丸で編集されたテキスト文書の中でabcdefgという文字列がある行を検索し、 その行情報を取得し、その行の隣にある文字列(下記の例では123456)を返す にはどのようにすればよいでしょうか? ご回答よろしくお願いします。 (例) 567行目に以下の文があるとします。 abcdefg,123456,goukaku

  • 秀丸 置換について

    NASのログをDB取り込み用の、テキスト修正を秀丸で行っているのですが、うまく置換できません。 ○文字列 Jan 12 13:25:19 "NASホスト名" file_smb[17142]: [User:”ユーザー名”(192.168.133.22)] ”File Open””(Read)” /mnt/array1/”フォルダ名”/”サブフォルダ名"/”ファイル名” ※”文字列”の中は変化します。 ○置換後 日時 ,”NASホスト名”,"ユーザー名",”IPアドレス",File Open,(Read),"フォルダ名",”サブフォルダ ファイル名” 【問題】   "(" → ","   ")" → "," で置換をかけていたのですが、ファイル名に"(” ”)"を使われており、一気に置換できません。 出来るかわかりませんが例えば、先頭から100文字目までの、"("を","へ置換する等 うまく置換できる方法をアドバイス頂けましたら幸いです。

  • 【秀丸マクロ】IFの使い方

    秀丸マクロでの、IFの使い方が分かりません…。 秀丸でCSVデータの編集をしています。 "文字列1","文字列2","文字列3","文字列4","文字列5", のうち、文字列4だけを見て、条件に合致するものは『行ごと』削除したいんです。 調べて調べて、やっとこ↓までは書いたのですが、 gofiletop; while( code != eof ){ searchdown "^\"((.*?)\",){4}\"(.*?)\"(?\\1)"; deleteline; } IFがないので、これではぜーんぶ消えてしまいます。(苦笑) IFをどういった方法で追加すればよいのか、教えてください。 よろしくお願いします。

専門家に質問してみよう