<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>カレントプログラム &#8211; カミュプリィの雑多なメモ</title>
	<atom:link href="https://www.commuply.co.jp/technic/memo/tag/%E3%82%AB%E3%83%AC%E3%83%B3%E3%83%88%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.commuply.co.jp/technic/memo</link>
	<description></description>
	<lastBuildDate>Sun, 27 Jul 2025 03:26:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://www.commuply.co.jp/technic/memo/wp-content/uploads/site-icon-150x150.png</url>
	<title>カレントプログラム &#8211; カミュプリィの雑多なメモ</title>
	<link>https://www.commuply.co.jp/technic/memo</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>[言語比較]プログラムのファイルパス</title>
		<link>https://www.commuply.co.jp/technic/memo/current-program-path/</link>
		
		<dc:creator><![CDATA[ume]]></dc:creator>
		<pubDate>Tue, 17 Dec 2024 01:24:40 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[@DbName]]></category>
		<category><![CDATA[@Subset]]></category>
		<category><![CDATA[AppContext.BaseDirectory]]></category>
		<category><![CDATA[Application.ExecutablePath]]></category>
		<category><![CDATA[Assembly.GetExecutingAssembly]]></category>
		<category><![CDATA[CurrentDatabase.FilePath]]></category>
		<category><![CDATA[Lotus Script]]></category>
		<category><![CDATA[Lotus 式言語]]></category>
		<category><![CDATA[MainModule.FileName]]></category>
		<category><![CDATA[NotesSession]]></category>
		<category><![CDATA[NotesUIWorkspace]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[System.Diagnostics]]></category>
		<category><![CDATA[System.Environment.CommandLine]]></category>
		<category><![CDATA[System.IO]]></category>
		<category><![CDATA[System.Reflection]]></category>
		<category><![CDATA[System.Windows.Forms]]></category>
		<category><![CDATA[カレントプログラム]]></category>
		<category><![CDATA[ファイル名]]></category>
		<category><![CDATA[プログラムのパス]]></category>
		<category><![CDATA[言語比較]]></category>
		<guid isPermaLink="false">https://www.commuply.co.jp/technic/memo/?p=878</guid>

					<description><![CDATA[　今動いているプログラムファイルのパス（ディレクトリとファイル）を取得してみましょう。現在のプログラムファイルであって、カレントディレクトリとは異なります Windows コマンドプロンプト C# 　いくつかの方法があり [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　今動いているプログラムファイルのパス（ディレクトリとファイル）を取得してみましょう。現在のプログラムファイルであって、カレントディレクトリとは異なります</p>



<h2 id="windows-%25e3%2582%25b3%25e3%2583%259e%25e3%2583%25b3%25e3%2583%2589%25e3%2583%2597%25e3%2583%25ad%25e3%2583%25b3%25e3%2583%2597%25e3%2583%2588" class="wp-block-heading">Windows コマンドプロンプト</h2>



<pre class="wp-block-code"><code>%~dp0
末尾に\マークが付きます</code></pre>



<h2 id="c" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)">C#</h2>



<p class="wp-block-paragraph">　いくつかの方法があります。プログラムを使用する環境で正しい値が返ってくることを確認しましょう</p>



<pre class="wp-block-code"><code>// .NET5 以降のばあい（ディレクトリのみ）
using System;
string ディレクトリ = System.AppContext.BaseDirectory;</code></pre>



<p class="wp-block-paragraph">　カミュプリィがつくった次のプログラム↓は、↑この方法を使っています</p>



<style>
.simpleblogcard_img_blockfe666450c89b8f42b4dcff9518ed87ae {
  float: left;
  padding: 10px;
}
.simpleblogcard_borderfe666450c89b8f42b4dcff9518ed87ae {
  border-right: solid 5px #7db4e6;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_titlefe666450c89b8f42b4dcff9518ed87ae {
  line-height: 120%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_descriptionfe666450c89b8f42b4dcff9518ed87ae {
  line-height: 120%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://www.commuply.co.jp/download/filename-to-creation/ target="_blank" rel="noopener">
				<figure class="simpleblogcard_img_blockfe666450c89b8f42b4dcff9518ed87ae">
			<img decoding="async" style="border-radius: 5px; width: 96px; height: 96px;" src="https://www.commuply.co.jp/r202410/wp-content/uploads/site-icon.png" alt="[Windows]画像ファイル名を作成日へ – カミュプリィ" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_borderfe666450c89b8f42b4dcff9518ed87ae">
			www.commuply.co.jp			<div class="simpleblogcard_titlefe666450c89b8f42b4dcff9518ed87ae">
				[Windows]画像ファイル名を作成日へ – カミュプリィ			</div>
							<div class="simpleblogcard_descriptionfe666450c89b8f42b4dcff9518ed87ae">
					このファイルと同じフォルダにある画像ファイル名を「日付-時刻.拡張子」形式に一括変更します 撮影日には対応していません 秒まで同じ作成日だったばあいはおまけの数字を付けます 【使い方】 １ダウンロード&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<pre class="wp-block-code"><code>// プロセスを使う方法
using System.Diagnostics;
string パス = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;</code></pre>



<pre class="wp-block-code"><code>// フォームを使う方法（コンソールアプリ可）
using System.Windows.Forms;
パス = Application.ExecutablePath;</code></pre>



<pre class="wp-block-code"><code>// コマンドラインを使う方法
// デバッグでは *.dll になり、単一ファイルにまとめると *.exe になる
using System;
using System.IO;
c.IO.FileInfo ファイル = new System.IO.FileInfo(System.Environment.CommandLine.Replace("\"", "")); // パラメータがないと仮定
string パス = System.IO.Path.Combine(ファイル.DirectoryName, ファイル.Name);</code></pre>



<pre class="wp-block-code"><code>// 与えられた情報を使う方法
// デバッグでは *.dll になり、単一ファイルにまとめるとブランクになる
using System.Reflection;
パス = System.Reflection.Assembly.GetExecutingAssembly().Location;</code></pre>



<h2 id="python" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)">Python</h2>



<p class="wp-block-paragraph">　CGIとCronで共通のパスを取得できませんでした。詳しくは次の記事にまとめてあります↓</p>



<style>
.simpleblogcard_img_block1aa77757e6e1987b4018c7e224898c18 {
  float: left;
  padding: 10px;
}
.simpleblogcard_border1aa77757e6e1987b4018c7e224898c18 {
  border-right: solid 5px #7db4e6;
  padding: 0.25em 0.25em;
  background: transparent;
}
.simpleblogcard_title1aa77757e6e1987b4018c7e224898c18 {
  line-height: 120%;
  font-weight: bold;
  display: block;
}
.simpleblogcard_description1aa77757e6e1987b4018c7e224898c18 {
  line-height: 120%;
  color: #333;
}
</style>
<div class="simpleblogcard_wrap">
			<a style="text-decoration: none;" href=https://www.commuply.co.jp/technic/memo/program-pass/ target="_blank" rel="noopener">
				<figure class="simpleblogcard_img_block1aa77757e6e1987b4018c7e224898c18">
			<img decoding="async" style="border-radius: 5px; width: 96px; height: 96px;" src="https://www.commuply.co.jp/technic/memo/wp-content/uploads/site-icon.png" alt="[Python]このプログラムのパス" />
		</figure>
		<div class="simpleblogcard_inner">
		<div class="simpleblogcard_border1aa77757e6e1987b4018c7e224898c18">
						<div class="simpleblogcard_title1aa77757e6e1987b4018c7e224898c18">
				[Python]このプログラムのパス			</div>
							<div class="simpleblogcard_description1aa77757e6e1987b4018c7e224898c18">
					　CGIとして呼ばれるPythonプログラムをつくって、Cronからも呼び出すようにしました。Pythonプログラムから、プログラムと同じディレクトリにある別のファイルにアクセスするようにしました。こ&#8230;				</div>
					</div>
	</div>
	<div style="clear: both;"></div>
	</a>
</div>



<h2 id="lotus-script" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)">Lotus Script</h2>



<p class="wp-block-paragraph">　ノーツドミノではデータベースにプログラムが含まれますので、データベースのパスを取得します</p>



<p class="wp-block-paragraph">　データベースのファイル名に日本語を使うと、環境によって問題が起こることがあります。また＆記号を使うと、検索で問題が起こることがありますので注意しましょう</p>



<h3 id="%25e3%2583%2590%25e3%2583%2583%25e3%2582%25af%25e3%2582%25a8%25e3%2583%25b3%25e3%2583%2589" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)">バックエンド</h3>



<p class="wp-block-paragraph">　Lotus Script には普遍的な方法と、ユーザーインターフェース（UI）から取得する方法のふたつがあります。ここでは便宜的に、普遍的な方法をバックエンドといい、ユーザーインターフェースをフロントエンドといいます</p>



<p class="wp-block-paragraph">　↓次はバックエンドの方法です。フロントエンドでも動きます</p>



<pre class="wp-block-code"><code>Dim セッション As New NotesSession()
パス = セッション.CurrentDatabase.FilePath</code></pre>



<h3 id="%25e3%2583%2595%25e3%2583%25ad%25e3%2583%25b3%25e3%2583%2588%25e3%2582%25a8%25e3%2583%25b3%25e3%2583%2589" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)">フロントエンド</h3>



<p class="wp-block-paragraph">　↓こちらはユーザーインターフェース（UI）から取得する方法です</p>



<pre class="wp-block-code"><code>Dim ユーザーインターフェース As New NotesUIWorkspace()
パス = ユーザーインターフェース.CurrentDatabase.FilePath</code></pre>



<h2 id="lotus-%25e5%25bc%258f%25e8%25a8%2580%25e8%25aa%259e" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--20)">Lotus 式言語</h2>



<p class="wp-block-paragraph">　式言語では、Lotus Script でいうフロントエンドしかありません</p>



<pre class="wp-block-code"><code>パス = @Subset(@DbName; -1);</code></pre>



<p class="wp-block-paragraph">　@DbNameは{サーバー; パス}を複数値で戻します。ここから最後のひとつの値を得るために@Subset(; -1)を使います</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
