SQLの窓

2025年03月24日


階層を指定して Googleのドメイン内検索を実行


切り替えボタンをクリックすると、表示されているページの階層を移動して検索する対象を絞り込む事ができます。

以下、Google のヘルプの引用です
site:検索キーワード

特定のウェブサイトから多くの検索結果を得たい場合は、検索キーワードに「site:」を追加します。たとえば、ニューヨーク タイムズ ウェブサイトの「オリンピック」に言及したすべての記事を検索するには、次のように指定します:「オリンピック site:nytimes.com」ヒント: 「.org」や「.edu」などのトップレベル ドメイン、または「.de」や「.jp」などの国のトップレベル ドメインを指定して検索することもできます。「オリンピック site:.gov」
【ブックマークレットの最新記事】
posted by lightbox at 2025-03-24 23:06 | ブックマークレット | このブログの読者になる | 更新情報をチェックする

2025年03月23日


空の zip ファイル / VBScript で作成可能

「新規作成」は、レジストリに登録されています

フォルダ内で、右クリックすると表示されるポップアップメニューには「新規作成」というメニューがありますが、これは、Windows Shell 仕様に従ってレジストリに登録された情報を元に作成されています。



この中で「圧縮 (zip形式) フォルダ」とあるメニューを実行すると、空の zip ファイルが作成されます。これをダンプすると以下のような内容になっています
          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
--------------------------------------------------------------------------
00000000 50 4B 05 06 00 00 00 00 00 00 00 00 00 00 00 00  PK..............
00000010 00 00 00 00 00 00                                ......

504B0506
0000     ディスク情報1
0000     ディスク情報2
0000     エントリされたデータの情報1
0000     エントリされたデータの情報2
00000000 サイズ情報
00000000 データへのオフセット
0000     後続するコメントの長さ
結構単純なデータですが、これは以下のようなレジストリデータとして直接データが登録されています。

コンピューター\HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew


Data という名前で登録されているデータが作成されるようになっています。この仕様はこちら(英文)から確認できます

さらに、この空のzip書庫は、以下のようにしてスクリプトで作成する事もできます
Set Fso = CreateObject( "Scripting.FileSystemObject" )
Set Handle = Fso.CreateTextFile( "empty.zip", True )
EmptyData = Chr(&H50) & Chr(&H4B) & Chr(&H5) & Chr(&H6)
EmptyData = EmptyData & String( 18, Chr(0) )
Handle.Write EmptyData
Handle.Close


関連する情報

.ZIP File Format Specification( 仕様 )




タグ:書庫
posted by lightbox at 2025-03-23 13:22 | Windows | このブログの読者になる | 更新情報をチェックする

2025年03月22日


Windows 機能の呼び出し

パターン

1) control.exe /name : コントロール パネル項目の正規名 2) control.exe *.cpl 3) 個別の exe 4) explorer.exe : ms-settings: URI スキーム リファレンス 5) mmc.exe 6) rundll32.exe

代表的なもの

システム 詳細情報control.exe /name Microsoft.System
デバイスマネージャcontrol.exe /name Microsoft.DeviceManager
ネットワーク接続control.exe ncpa.cpl
プログラムと機能control.exe appwiz.cpl
デスクトップアイコンの設定control.exe desk.cpl,,0
リモートデスクトップの設定SystemPropertiesRemote.exe
システムのプロパティの詳細設定タブSystemPropertiesAdvanced.exe
コンピューターの管理CompMgmtLauncher.exe
リモートデスクトップmstsc.exe
Windows Updateexplorer.exe ms-settings:windowsupdate
ファイアーウォールとネットワーク保護explorer.exe windowsdefender://network/
ファイアーウォール詳細mmc.exe wf.msc
イベントビュアーmmc.exe eventvwr.msc /s
タスクスケジューラmmc.exe taskschd.msc /s
サービスmmc.exe services.msc /s
ローカル グループ ポリシーエディタmmc.exe gpedit.msc
ファイル名を指定して実行rundll32.exe shell32.dll,#61
ネットワークドライブの割当てrundll32.exe shell32.dll,SHHelpShortcuts_RunDLL Connect
フォルダオプションrundll32.exe shell32.dll,Options_RunDLL 7




posted by lightbox at 2025-03-22 19:24 | Windows | このブログの読者になる | 更新情報をチェックする

2025年03月21日


Windows : shell:sendto は、sendto だけで開くようです。

正式な文書はついに見つけられませんでした。



結局、『ファイル名を指定して実行』では、shell:sendto しか動きませんが、エクスプローラのアドレスバーでは、sendto のみで、『送る』フォルダを開く事ができますshell: で使える文字列の一覧が見れるサイト

Shell コマンドで開く特殊フォルダー一覧

実際使えそうなのは数えるほど(深い階層で短い名前で無いと意味が無い)ですが、何かの時に使えると思います( ショートカットのリンクには使えません )

shell:Recent
shell:Startup


似たような処理は %環境変数% 

例えば、%TEMP% でテンポラリフォルダを開く事ができます




posted by lightbox at 2025-03-21 23:22 | Windows | このブログの読者になる | 更新情報をチェックする

Shell コマンドで開くフォルダ : HTA でクリックすると実行可能

直接実行できる HTA にしました。また、現在でも重要なコマンドは背景を pink にしています。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

	// ウインドウの位置とサイズ
	top.moveTo( 30, 30 );
	top.resizeTo( 700, 800 );

$(function(){
	$("#lboxtable td").each(function(){
		if( $(this).get(0).cellIndex == 0 ) {

			$(this).css({ "cursor" : "pointer" });

		}
	});

	$("#lboxtable td").on("click",function(){
		if( $(this).get(0).cellIndex == 0 ) {

			var text = $(this).text();
			shellRunExe( text, "" );

		}
	});
});

function newObject( className ) {

	var obj;

	try {
		obj = new ActiveXObject( className );
	}
	catch (e) {
		obj = null;
	}

	return obj;

}

var shell = newObject("Shell.Application");

function shellRunExe( strPath, strParam ) {

	shell.ShellExecute( strPath, strParam )

}

</script>
</head>
<body>

<style type="text/css">
.it {
	background-color: pink;
}

#lboxtable * {
	font-family: メイリオ,'MS Pゴシック';
	font-size: 12px;
}
#lboxtable table {
	border-collapse: collapse;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: #FFFFFF;
}
#lboxtable td {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	/* white-space: nowrap; */
}
#lboxtable th {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: silver;
	/* white-space: nowrap; */
}
#lboxtable .header {
	padding: 5px;
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	background-color: silver;
	/* white-space: nowrap; */
}
</style>

<DIV id="lboxtable">
<table>
    <tbody>
        <tr>
            <td >shell:ControlPanelFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:AddNewProgramsFolder</td>
            <td >ネットワークからプログラムをインストール</td>
        </tr>
        <tr>
            <td >shell:ConnectionsFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:PrintersFolder</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td class="it">shell:AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Administrative Tools</td>
            <td >ユーザーの管理ツール</td>
        </tr>
        <tr>
            <td >shell:Cookies</td>
            <td >クッキー</td>
        </tr>
        <tr>
            <td >shell:NetHood</td>
            <td >ネットワーク ショートカット</td>
        </tr>
        <tr>
            <td >shell:PrintHood</td>
            <td >プリンター ショートカット</td>
        </tr>
        <tr>
            <td >shell:Programs</td>
            <td >スタートメニューのプログラム</td>
        </tr>
        <tr>
            <td >shell:Recent</td>
            <td >最近使った項目</td>
        </tr>
        <tr>
            <td >shell:SendTo</td>
            <td >「送る」メニュー</td>
        </tr>
        <tr>
            <td >shell:Start Menu</td>
            <td >ユーザーのスタートメニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Startup</td>
            <td >ユーザーのスタートアップ</td>
        </tr>
        <tr>
            <td >shell:Templates</td>
            <td >ユーザーのテンプレート</td>
        </tr>
        <tr>
            <td >shell:Quick Launch</td>
            <td >クイック起動</td>
        </tr>
        <tr>
            <td >shell:User Pinned</td>
            <td >ジャンプリスト 固定メニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Local AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Cache</td>
            <td >インターネット一時ファイル</td>
        </tr>
        <tr>
            <td >shell:CD Burning</td>
            <td >CDの一時書き込みフォルダー</td>
        </tr>
        <tr>
            <td >shell:History</td>
            <td >IEの履歴</td>
        </tr>
        <tr>
            <td >shell:Common AppData</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Common Templates</td>
            <td >共通のテンプレート</td>
        </tr>
        <tr>
            <td >shell:Common Start Menu</td>
            <td >共通のスタートメニュー</td>
        </tr>
        <tr>
            <td  class="it">shell:Common Startup</td>
            <td >共通のスタートアップ</td>
        </tr>
        <tr>
            <td >shell:Common Programs</td>
            <td >共通のスタートメニューのプログラム</td>
        </tr>
        <tr>
            <td  class="it">shell:Common Administrative Tools</td>
            <td >共通の管理ツール</td>
        </tr>
        <tr>
            <td >shell:ProgramFiles</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:ProgramFilesCommon</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Common Desktop</td>
            <td >パブリックのデスクトップ</td>
        </tr>
        <tr>
            <td >shell:Common Documents</td>
            <td >パブリックのドキュメント</td>
        </tr>
        <tr>
            <td >shell:CommonDownloads</td>
            <td >パブリックのダウンロード</td>
        </tr>
        <tr>
            <td >shell:CommonMusic</td>
            <td >パブリックのミュージック</td>
        </tr>
        <tr>
            <td >shell:CommonPictures</td>
            <td >パブリックのピクチャ</td>
        </tr>
        <tr>
            <td >shell:CommonVideo</td>
            <td >パブリックのビデオ</td>
        </tr>
        <tr>
            <td >shell:Libraries</td>
            <td >ライブラリ</td>
        </tr>
        <tr>
            <td >shell:UsersLibrariesFolder</td>
            <td >ライブラリ</td>
        </tr>
        <tr>
            <td >shell:DocumentsLibrary</td>
            <td >ドキュメント</td>
        </tr>
        <tr>
            <td >shell:MusicLibrary</td>
            <td >ミュージック</td>
        </tr>
        <tr>
            <td >shell:PicturesLibrary</td>
            <td >ピクチャ</td>
        </tr>
        <tr>
            <td >shell:VideosLibrary</td>
            <td >ビデオ</td>
        </tr>
        <tr>
            <td >shell:UserProfiles</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Profile</td>
            <td >ユーザーのフォルダー</td>
        </tr>
        <tr>
            <td >shell:UsersFilesFolder</td>
            <td >ユーザーのフォルダー</td>
        </tr>
        <tr>
            <td >shell:Contacts</td>
            <td >ユーザーのアドレス帳</td>
        </tr>
        <tr>
            <td  class="it">shell:Downloads</td>
            <td >ユーザーのダウンロード</td>
        </tr>
        <tr>
            <td >shell:Favorites</td>
            <td >ユーザーのIEのお気に入り</td>
        </tr>
        <tr>
            <td >shell:Links</td>
            <td >ユーザーのリンク<br>
            (エクスプローラーのお気に入り)</td>
        </tr>
        <tr>
            <td >shell:My Music</td>
            <td >ユーザーのマイ ミュージック</td>
        </tr>
        <tr>
            <td >shell:My Pictures</td>
            <td >ユーザーのマイ ピクチャ</td>
        </tr>
        <tr>
            <td >shell:My Video</td>
            <td >ユーザーのマイ ビデオ</td>
        </tr>
        <tr>
            <td >shell:Personal</td>
            <td >ユーザーのマイ ドキュメント</td>
        </tr>
        <tr>
            <td >shell:SavedGames</td>
            <td >保存したゲーム</td>
        </tr>
        <tr>
            <td >shell:Searches</td>
            <td >ユーザーの検索</td>
        </tr>
        <tr>
            <td >shell:Public</td>
            <td >パブリックのユーザーのフォルダー</td>
        </tr>
        <tr>
            <td  class="it">shell:Windows</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td >shell:Fonts</td>
            <td >フォント</td>
        </tr>
        <tr>
            <td >shell:ResourceDir</td>
            <td >テーマ リソース フォルダー</td>
        </tr>
        <tr>
            <td  class="it">shell:System</td>
            <td >&nbsp;</td>
        </tr>
        <tr>
            <td  class="it">shell:Desktop</td>
            <td >デスクトップ</td>
        </tr>
        <tr>
            <td >shell:HomeGroupFolder</td>
            <td >ホームグループ</td>
        </tr>
        <tr>
            <td >shell:MyComputerFolder</td>
            <td >コンピューター</td>
        </tr>
        <tr>
            <td >shell:NetworkPlacesFolder</td>
            <td >ネットワーク</td>
        </tr>
        <tr>
            <td >shell:RecycleBinFolder</td>
            <td >ごみ箱</td>
        </tr>
        <tr>
            <td >shell:SearchHomeFolder</td>
            <td >検索結果</td>
        </tr>
    </tbody>
</table></DIV>


</body>
</html>


実際に運用で使用する場合は、プロパティから『許可する』に設定しておいたほうが良いでしょう






posted by lightbox at 2025-03-21 16:48 | Windows | このブログの読者になる | 更新情報をチェックする

URI スキーム : Windows Update 画面を表示するコマンド

その他の URI スキーム一覧はこちらにあります

ファイル名を指定して実行より
ms-settings:windowsupdate
( Windowsキ− + R で ファイル名を指定して実行 )

コマンドプロンプトから実行する場合
start ms-settings:windowsupdate

これは、ms-settings: URI スキーム による設定アプリの起動方法です。

Windows のショートカット一覧はこちらにあります

▼ control.exe を使用する
ファイル名を指定して実行より
control.exe /name Microsoft.WindowsUpdate



posted by lightbox at 2025-03-21 01:35 | Windows | このブログの読者になる | 更新情報をチェックする

2024年08月08日


SQLServer の BCP で INT IDENTITY 列に csv からリストアする

bcp ユーティリティにおいて、-E オプションで可能になります。

▼ -E の説明
インポートしたデータ ファイルの ID 値 (複数可) を ID 列に使用することを指定します。 -E を指定しない場合、インポートされるデータ ファイルのこの列の ID 値は無視され、SQL Server はテーブルの作成時に指定されたシードと増分の値に基づいて、一意の値を自動的に割り当てます。

出力
bcp.exe DB名..[出力テーブル名] out "c:\TMP\data.csv" -c -t , -U sa -P

入力
bcp.exe DB名..[入力テーブル名] in "c:\TMP\data.csv" -e "c:\TMP\error.log" -c -t , -E -U sa -P
この環境では、パスワードは空文字です。
データにカンマが含まれる場合は、区切り文字を変更します。( -t , )



posted by lightbox at 2024-08-08 11:20 | SQLExpress | このブログの読者になる | 更新情報をチェックする

2024年08月06日


MySQL に PIPES_AS_CONCAT を設定して、CSV を出力する SQL

Windows で、XAMPP を使用している場合、my.ini がありますが、その中の設定で sql_mode と言うエントリがあるので、そこに PIPES_AS_CONCAT を追加します。
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT
そのうえで、以下のような SQL を作成して実行します。
select

社員コード||','||氏名||','||フリガナ||','||所属||','||性別||','||作成日||','||更新日||','||給与||','||手当||','||管理者||','||生年月日 from 社員マスタ

into OUTFILE 'C:\\TEMP\\syain.csv'
※ データ内に NULL 値が無いようにする必要があります( または SQL で関数を使うか )
※ csv の二度目の上書きはできません


関連する記事

PL/SQL : 最も簡単な CSV 出力 の記述


posted by lightbox at 2024-08-06 09:50 | MySQL | このブログの読者になる | 更新情報をチェックする

Chrome ポリシー : レジストリ : ( ChatGPT 解説 )

以下のレジストリの効果を解説してください
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ShowHomeButton"=dword:00000001
"AutofillAddressEnabled"=dword:00000000
"HomepageLocation"="https://www.google.com/"
"BrowserThemeColor"="#FFFFFF"
"PromptForDownloadLocation"=dword:00000001
"AutofillCreditCardEnabled"=dword:00000000
"ShowAppsShortcutInBookmarkBar"=dword:00000000
"HomepageIsNewTabPage"=dword:00000000
"PasswordManagerEnabled"=dword:00000000
"TaskManagerEndProcessEnabled"=dword:00000001
"TranslateEnabled"=dword:00000001
"BrowserAddPersonEnabled"=dword:00000000
"NTPCustomBackgroundEnabled"=dword:00000000

  • このレジストリキーと値は、Google Chromeの特定の機能の動作を制御するためのものです。それぞれの値の意味を以下に説明します。
    1. ShowHomeButton
      ホームボタンをブラウザのツールバーに表示するかどうかを指定します。dword:00000001 はホームボタンが表示されることを意味します。
    2. AutofillAddressEnabled
      自動入力機能で住所の自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。
    3. HomepageLocation
      ホームボタンをクリックしたときに開かれるホームページのURLを指定します。ここでは https://www.google.com/ です。
    4. BrowserThemeColor
      ブラウザのテーマカラーを指定します。#FFFFFF は白色です。
    5. PromptForDownloadLocation
      ダウンロードするファイルの保存場所を指定するようにユーザーにプロンプトを表示するかどうかを指定します。dword:00000001 はプロンプトを表示することを意味します。
    6. AutofillCreditCardEnabled
      自動入力機能でクレジットカードの自動入力が有効かどうかを指定します。dword:00000000 は無効であることを示します。
    7. ShowAppsShortcutInBookmarkBar
      ブックマークバーにアプリのショートカットを表示するかどうかを指定します。dword:00000000 は表示されないことを意味します。
    8. HomepageIsNewTabPage
      ホームページが新しいタブページであるかどうかを指定します。dword:00000000 は新しいタブページではないことを意味します。
    9. PasswordManagerEnabled
      パスワードマネージャーが有効かどうかを指定します。dword:00000000 は無効であることを意味します。
    10. TaskManagerEndProcessEnabled
      タスクマネージャーでプロセスを終了する機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。
    11. TranslateEnabled
      翻訳機能が有効かどうかを指定します。dword:00000001 は有効であることを意味します。
    12. BrowserAddPersonEnabled
      ブラウザで新しいユーザープロファイルを追加できるかどうかを指定します。dword:00000000 は追加できないことを意味します。
    13. NTPCustomBackgroundEnabled
      新しいタブページでカスタム背景画像が使用できるかどうかを指定します。dword:00000000 は使用できないことを意味します。
  • これらの設定により、特定の機能がユーザーの希望やポリシーに応じて有効または無効にされます。
  • 
    
    
    
    posted by lightbox at 2024-08-06 08:38 | Google Chrome | このブログの読者になる | 更新情報をチェックする

    PL/SQL : 最も簡単な CSV 出力 の記述

    CSV イメージを最初から SQL で作成しておいて、取りだすデータが 1つの列にしておく事で高速な処理が可能になります
    
    CREATE OR REPLACE PROCEDURE LIST_MEMBER
    (
    	/* カーソルの範囲指定用  */
    	PM_STRING IN VARCHAR2
    )
    
    /**********************************************************/
    /* 変数の定義 */
    /**********************************************************/
    AS
    	WK_VALUE	VARCHAR2(2000);
    
    	/* カーソルの定義(主に複数読み込み用)  */
    	CURSOR cur_main IS
    		SELECT
    			社員コード||','||
    			氏名||','||
    			フリガナ||','||
    			所属||','||
    			性別||','||
    			作成日||','||
    			更新日||','||
    			給与||','||
    			手当||','||
    			管理者||','||
    			生年月日
    			from "社員マスタ"
    		where 社員コード <= PM_STRING;
    
    	-- ディスクへ書き込むファイル名
    	WK_FILENAME VARCHAR2(100) := 'syain.csv';
    	-- ファイルにアクセスする為のハンドルの定義
    	FILEHANDLE UTL_FILE.FILE_TYPE;
    
    /**********************************************************/
    /* 処理開始 */
    /**********************************************************/
    BEGIN
    	DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
    	DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);
    
    	/* カーソルを開く */
    	OPEN cur_main;
    
    	-- 第一引数は、ディレクトリオブジェクトの名称( 但し文字列 )
    	FILEHANDLE := UTL_FILE.FOPEN( 'MYDIR', WK_FILENAME, 'w' );
    
    	/* ループ処理(ブロック) */
    	LOOP 
    		/* 定義したレコード変数に読み込み */
    		FETCH cur_main INTO WK_VALUE;
    		/* カーソルに対するシステム変数でデータ終わりを判断 */
    		if cur_main%NOTFOUND then 
    			/* ループ処理を脱出 */
    			EXIT; 
    		end if; 
    
    		-- 書き込み
    		UTL_FILE.PUT_LINE(FILEHANDLE,WK_VALUE);
    	 
    	END LOOP; 
    
    	-- ファイルを閉じる
    	UTL_FILE.FCLOSE( FILEHANDLE );
    
    	/* カーソルを閉じる */
    	CLOSE cur_main;
    
    /**********************************************************/
    /* 一番外側のブロックの例外処理 */
    /**********************************************************/
    $if 1=1 $then
    EXCEPTION
    	WHEN OTHERS THEN
    		DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
    $end
    END;
    
    
    
    
    
    
    posted by lightbox at 2024-08-06 00:18 | Oracle : PL/SQL | このブログの読者になる | 更新情報をチェックする

    2024年08月05日


    VBScript を『管理者として実行する』には、Shell の runas ( 右クリックメニューの実行と同等 ) で実現します / Jscript も追加

    VBScript を『管理者として実行する』には、以下の内容ををスクリプトの先頭に記述します
    
    

    🔻 VBScript

    Set obj = Wscript.CreateObject("Shell.Application")
    if Wscript.Arguments.Count = 0 then
    	obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
    	Wscript.Quit
    end if
    
    Wscript.Echo "ここは管理者権限で実行されます"
    
    
    
    

    🔻 Jscript

    ※ Jscript は WScript 等、大文字小文字の区別があるので注意です。
    var obj = new ActiveXObject("Shell.Application");
    if ( WScript.Arguments.length == 0 ) {
    	obj.ShellExecute( "wscript.exe", WScript.ScriptFullName + " runas", "", "runas", 1 );
    	WScript.Quit();
    }
    
    WScript.Echo( "ここは管理者権限で実行されます" );
    
    
    Shell.ShellExecute method
    
    これは、VBScript から利用可能な Shell の機能を使って、右クリックメニューにある『管理者として実行』を実行する方法です。ここでは日本語では無く runas と言う文字列を使って管理者として実行させています。
    
    但し、引数がなかった場合の処理としては処理終了します。ですからこのスクリプトでは、引数をダミーで一つセットして( この場合一つめの runas がそうです )自分自身を再度呼び出しています。
    
    つまり、Windows からすれば二度目の実行が管理者としての実行になります。
    
    この場合は、スクリプトに引数を渡す事ができません。もし渡したい場合は、違ったトリックを使う必要があるのに注意して下さい。(その場合は、外部ファイルから入力するのがもっとも簡単で確実だと思います)
    
    
    
    
    
    
    
    posted by lightbox at 2024-08-05 12:10 | VBS + Shell | このブログの読者になる | 更新情報をチェックする

    fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信

    fake sendmail は、XAMPP に同梱されています
    
    メールサーバは、フリーメールで可能で、簡単な設定で利用できます。以下のサンプルは、さくらインターネット で動作確認しました。
    
    ▼ 手順
    
    ダウンロード
    
    配布元より、sendmail.zip をダウンロードして、解凍します。
    ( XAMPP には sendmail フォルダがあります )
    
    sendmail.exe の動作テスト
    
    まず、sendmail.ini をエディタで開いて、四つのエントリを指定します
    ▼ さくらインターネットを使う場合の設定
    
    smtp_server=初期ドメイン
    smtp_port=587
    auth_username=ユーザ@初期ドメイン
    auth_password=パスワード
    
    ※ smtp_ssl=auto となっており、デフォルトで ssl で実行され、使え無い場合は TLS を使おうとします php.ini の設定
    sendmail_path = "C:\tools\sendmail\sendmail.exe"
    
    実際の sendmail.exe のパスを "" で囲んで指定します。 ※ この場合、エラーログは "C:\tools\sendmail\error.log" です( デフォルト ) PHP のコード ( UTF8 BOM なしで記述します ) HTML の input 要素で type="text" name="fld_to"、name="fld_subject"、name="fld_body"、を form 要素の中に記述し、form 要素に method="post" action="以下の PHP のファイルのパス" を指定し、form 要素の中に input 要素で type="submit" を指定したボタンを記述します。
    mb_language("Japanese");
    mb_internal_encoding("UTF-8");
    
    $from_header = "From: " . mb_encode_mimeheader( mb_convert_encoding("差出人","iso-2022-jp") );
    
    $from_header .= " <{$GLOBALS["mail"]}>";
    
    $result = mb_send_mail($_POST["fld_to"], $_POST["fld_subject"], $_POST["fld_body"], $from_header);
    if ( $result ) {
    	$error = "OK";
    }
    else {
    	$error = "ERROR";
    }
    
    print mb_language() . "
    "; print $error;
    $GLOBALS["mail"] は、メール形式であれば良いですが、通常ならば auth_username で指定したメールアドレスを記述します。
    
    PHP の mb_send_mail の使用方法の全体のサンプルは、こちらを参照して下さい。
    
    
    
    
    
    
    posted by lightbox at 2024-08-05 10:36 | PHP + 通信 | このブログの読者になる | 更新情報をチェックする
    container 終わり



    フリーフォントで簡単ロゴ作成
    フリーフォントでボタン素材作成
    フリーフォントで吹き出し画像作成
    フリーフォントではんこ画像作成
    ほぼ自由に利用できるフリーフォント
    フリーフォントの書体見本とサンプル
    画像を大きく見る為のウインドウを開くボタンの作成

    CSS ドロップシャドウの参考デモ
    イラストAC
    ぱくたそ
    写真素材 足成
    フリーフォント一覧
    utf8 文字ツール
    右サイド 終わり
    base 終わり