バッチファイルでユーザー作成の際に必要そうなコマンドのまとめ

バッチファイルでユーザー作成の際に必要そうなコマンドのまとめ

 

euc-access-excel-db.com

 

www.pg-fl.jp

 

blog.treedown.net

 

automationlabo.com

 

oozappase.com

 

thanaism.com

 

learn.microsoft.com

 

learn.microsoft.com

 

automationlabo.com

 

learn.microsoft.com

 

support.microsoft.com

【作成中】PowerShell のリンクのまとめ

作成中です。PowerShell 運用のリンクのまとめや作業のログです。

 

PowerShell でのキー入力

qiita.com

note.com

it-study.info

ソフトウェアのフォームに「ユーザID」と「パスワード」を入力してログインするスクリプトの書き方。

mitosuya.net

PowerShellでメッセージボックスを表示する方法。

www.tekizai.net

各種まとめられたリンク集。

qiita.com

PowerShellによるウインドウ操作について

teratail.com

ja.stackoverflow.com

PowerShellでのマウス操作

tarenagashi.hatenablog.jp

it-study.info

 

PowerShell 実行時のセキュリティポリシーの変更

atmarkit.itmedia.co.jp

qiita.com

PoserShell のスクリプトを管理者として実行する

cheshire-wara.com

PowerShellGUI Installer の処理

f-journey.com

 

====================

Add-Type -AssemblyName System.Windows.Forms
#Start-Process -FilePath "C:\Users\user\Downloads\rufus-3.17.exe"
Start-Process -FilePath "C:\Users\user\Downloads\MPASetup_Chrome.exe"
Start-Sleep -m 1000
#Add-Type -AssemblyName System.Windows.Forms

#[System.Windows.Forms.SendKeys]::SendWait("%{TAB}")
Start-Sleep -m 1000

 

[System.Windows.Forms.SendKeys]::SendWait("{TAB}")
Start-Sleep -m 1000    
[System.Windows.Forms.SendKeys]::SendWait("{TAB}")
Start-Sleep -m 1000

[System.Windows.Forms.MessageBox]::Show("コンテキスト1","キャプション",[System.Windows.Forms.MessageBoxButtons]::YesNo)

[System.Windows.Forms.SendKeys]::SendWait("{TAB}")
Start-Sleep -m 1000
[System.Windows.Forms.MessageBox]::Show("コンテキスト2","キャプション",[System.Windows.Forms.MessageBoxButtons]::YesNo)

[System.Windows.Forms.SendKeys]::SendWait("{ENTER}")

====================

 

 

コマンドを使ったテキストファイルの抜き出し・検索

大量のテキストファイルの中から必要な情報を探し出す機会があったので、忘れないようにメモ。

といってもリンクの参照ですが。。。

 

1つ目は、「tail」コマンドを利用して、複数のテキストファイルを1つのファイルに書き出す方法です。

テキストファイルのタイトルと中身をすべて抜き出せるので大変便利です。

 

shuzo-kino.hateblo.jp

 

2つ目は、テキストファイル内の文字列を検索する方法です。

「find」、「xargs」、「grep」のワンライナーで検索をかける方法が紹介されていました。

使い向きがよく、助かりました。

 

reasonable-code.com

 

メモとして置いておきます。

 

 

Unihertz Titan の Android 10 へのアップグレード方法の備忘録

先日、Unihertz Titan のOSを Android 9 から Android 10 にアップグレードしたので、
その方法を備忘録として残しておきます。

 

作業をされる際には、重要なファイルはバックアップをとり、

時間に余裕を持って行ってください。

 

工程はすべて、Unihertz Titan にて行います。

まず、アップグレード用のZIPファイルを Google ドライブ からダウンロードします。

 Google ドライブのURLは次のとおりです。

drive.google.com

開けない場合は、工程の01〜02を行ってください。

 

01------------------------------------------

Titan で Google ドライブ を開きます。

f:id:kuroneko_cat_rb:20210101231714p:plain

 

02------------------------------------------

「ドライブで検索」のところに「Titan」と入力します。

f:id:kuroneko_cat_rb:20210101231848p:plain

 

03------------------------------------------

下の画面が表示されます。

この画面の「Important_Notice!!!!.txt」には、アップグレードの方法や注意事項が書かれているので、必ず読むようにしてください。

f:id:kuroneko_cat_rb:20210101231918p:plain

 

#===========================================================#

「Important_Notice!!!!.txt」には、ざっくりとは次のようなことが書かれています。

  •  アップグレードの前に、重要なデータのバックアップをお願いします。
  • アップグレードの途中は携帯電話が使用できません。
  • もしアップグレード後に不具合が起きた場合、
    出力されたログをご提示いただくと問題の解決のお助けができます。
  • その他、アップグレードの手順など。

#===========================================================#

 

04------------------------------------------

アップグレードのために、
ZIPファイルをローカルにダウンロードする必要があります。
Google ドライブ を見ると「EuropeanUnion_EEA_TTEU-01」と

「None_EEA」が選択できます。

ここでは、「None_EEA」を選択します。

#===========================================================#

「EuropeanUnion」→「欧州連合

「EEA」→「European Economic Area」の略称で、「欧州経済領域

日本の場合は、「None_EEA」を選択します。

#===========================================================#

 

05------------------------------------------

「None_EEA」→「Android 10」と進んでいきます。

f:id:kuroneko_cat_rb:20210101235737p:plain

 

06------------------------------------------

画面の中にある、「2020121412_g61v71c2k_dfl_tee-ota.zip」を
Titanにダウンロードします。

ファイル容量は 1.7GB ほどあります。

f:id:kuroneko_cat_rb:20210101235834p:plain

 

07------------------------------------------

ファイルのダウンロードが完了したら、アップグレードを実施します。

Titan 上で、「ワイヤレスアップデート」画面の右上の3つの点をタップし、

「ローカルアップデート」を選択します。

f:id:kuroneko_cat_rb:20210102000051p:plain

 

08------------------------------------------

「2020121412_g61v71c2k_dfl_tee-ota.zip」をダウンロードした
ディレクトリに移動して、ZIPファイルを選択します。 

f:id:kuroneko_cat_rb:20210102000112p:plain

 

09------------------------------------------

ZIPファイルを選択すると下記の画面が表示されますので、
画面の表示に従ってアップグレードを進めていきます。

f:id:kuroneko_cat_rb:20210102000126p:plain

 

アップグレードの最中は、何度か再起動を繰り返します。

私の環境では、20分ほどでOSアップグレードが完了しました。

 

最後に繰り返しますが、作業の際には必ず大切なファイルはバックアップをとり、

時間に余裕を持ってアップグレードを行ってください。

 

以上となります。

 

 

【改めて】エクセルで「VLOOKUP関数」を使って複数の検索結果を表示できるようにした【書き直し】

前回から記事を書き直しました。

 

エクセル「VLOOKUP関数」を使って、表から複数の検索結果を引っ張ってこられるようにしました。

 

検索メニューは、下記のとおりです。

この項目について、エクセルで検索をかけます。

f:id:kuroneko_cat_rb:20201009042522p:plain

 

「メロン」、「みかん」、「りんご」、「青森」について、検索をかけてみました。

 

メロン

f:id:kuroneko_cat_rb:20201009042638p:plain

 

みかん

f:id:kuroneko_cat_rb:20201009042702p:plain

 

りんご

f:id:kuroneko_cat_rb:20201009042722p:plain

 

青森

f:id:kuroneko_cat_rb:20201009042814p:plain

 

検索がうまく言っているようです。

前回同様、「VLOOKUP関数」と、「OFFSET関数」を使用しています。

 

関数は、以下のとおりです。

f:id:kuroneko_cat_rb:20201009042913p:plain

 

C列の、5行目から39行目は、以下の関数が入力されています。

C列


=IFERROR(VLOOKUP("*"&$C$2&"*",$C$45:$C$84,1,FALSE),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E5,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E6,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E7,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E8,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E9,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E10,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E11,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E12,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E13,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E14,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E15,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E16,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E17,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E18,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E19,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E20,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E21,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E22,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E23,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E24,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E25,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E26,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E27,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E28,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E29,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E30,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E31,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E32,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E33,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E34,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E35,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E36,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E37,0),1,FALSE)),"")
=IFERROR(IF($C$2="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$45:$C$84,E38,0),1,FALSE)),"")

 

 

D列の、5行目から39行目は、以下の関数が入力されています。

D列

 

ヒットした行番号

=IFERROR(MATCH(C5,$C$45:$C$84,0),"")
=IFERROR(MATCH(C6,OFFSET($C$45:$C$72,D5,0),0),"")
=IFERROR(MATCH(C7,OFFSET($C$45:$C$72,E6,0),0),"")
=IFERROR(MATCH(C8,OFFSET($C$45:$C$72,E7,0),0),"")
=IFERROR(MATCH(C9,OFFSET($C$45:$C$72,E8,0),0),"")
=IFERROR(MATCH(C10,OFFSET($C$45:$C$72,E9,0),0),"")
=IFERROR(MATCH(C11,OFFSET($C$45:$C$72,E10,0),0),"")
=IFERROR(MATCH(C12,OFFSET($C$45:$C$72,E11,0),0),"")
=IFERROR(MATCH(C13,OFFSET($C$45:$C$72,E12,0),0),"")
=IFERROR(MATCH(C14,OFFSET($C$45:$C$72,E13,0),0),"")
=IFERROR(MATCH(C15,OFFSET($C$45:$C$72,E14,0),0),"")
=IFERROR(MATCH(C16,OFFSET($C$45:$C$72,E15,0),0),"")
=IFERROR(MATCH(C17,OFFSET($C$45:$C$72,E16,0),0),"")
=IFERROR(MATCH(C18,OFFSET($C$45:$C$72,E17,0),0),"")
=IFERROR(MATCH(C19,OFFSET($C$45:$C$72,E18,0),0),"")
=IFERROR(MATCH(C20,OFFSET($C$45:$C$72,E19,0),0),"")
=IFERROR(MATCH(C21,OFFSET($C$45:$C$72,E20,0),0),"")
=IFERROR(MATCH(C22,OFFSET($C$45:$C$72,E21,0),0),"")
=IFERROR(MATCH(C23,OFFSET($C$45:$C$72,E22,0),0),"")
=IFERROR(MATCH(C24,OFFSET($C$45:$C$72,E23,0),0),"")
=IFERROR(MATCH(C25,OFFSET($C$45:$C$72,E24,0),0),"")
=IFERROR(MATCH(C26,OFFSET($C$45:$C$72,E25,0),0),"")
=IFERROR(MATCH(C27,OFFSET($C$45:$C$72,E26,0),0),"")
=IFERROR(MATCH(C28,OFFSET($C$45:$C$72,E27,0),0),"")
=IFERROR(MATCH(C29,OFFSET($C$45:$C$72,E28,0),0),"")
=IFERROR(MATCH(C30,OFFSET($C$45:$C$72,E29,0),0),"")
=IFERROR(MATCH(C31,OFFSET($C$45:$C$72,E30,0),0),"")
=IFERROR(MATCH(C32,OFFSET($C$45:$C$72,E31,0),0),"")
=IFERROR(MATCH(C33,OFFSET($C$45:$C$72,E32,0),0),"")
=IFERROR(MATCH(C34,OFFSET($C$45:$C$72,E33,0),0),"")
=IFERROR(MATCH(C35,OFFSET($C$45:$C$72,E34,0),0),"")
=IFERROR(MATCH(C36,OFFSET($C$45:$C$72,E35,0),0),"")
=IFERROR(MATCH(C37,OFFSET($C$45:$C$72,E36,0),0),"")
=IFERROR(MATCH(C38,OFFSET($C$45:$C$72,E37,0),0),"")
=IFERROR(MATCH(C39,OFFSET($C$45:$C$72,E38,0),0),"")

 

E列の、5行目から39行目は、以下の関数が入力されています。

E列

 

参照番号

=D5
=IF(D6="","",E5+D6)
=IF(D7="","",E6+D7)
=IF(D8="","",E7+D8)
=IF(D9="","",E8+D9)
=IF(D10="","",E9+D10)
=IF(D11="","",E10+D11)
=IF(D12="","",E11+D12)
=IF(D13="","",E12+D13)
=IF(D14="","",E13+D14)
=IF(D15="","",E14+D15)
=IF(D16="","",E15+D16)
=IF(D17="","",E16+D17)
=IF(D18="","",E17+D18)
=IF(D19="","",E18+D19)
=IF(D20="","",E19+D20)
=IF(D21="","",E20+D21)
=IF(D22="","",E21+D22)
=IF(D23="","",E22+D23)
=IF(D24="","",E23+D24)
=IF(D25="","",E24+D25)
=IF(D26="","",E25+D26)
=IF(D27="","",E26+D27)
=IF(D28="","",E27+D28)
=IF(D29="","",E28+D29)
=IF(D30="","",E29+D30)
=IF(D31="","",E30+D31)
=IF(D32="","",E31+D32)
=IF(D33="","",E32+D33)
=IF(D34="","",E33+D34)
=IF(D35="","",E34+D35)
=IF(D36="","",E35+D36)
=IF(D37="","",E36+D37)
=IF(D38="","",E37+D38)
=IF(D39="","",E38+D39)

 

これで、検索した値を参照できます。

 

 

【記事取り消し】エクセルで「VLOOKUP関数」を使って複数の検索結果を表示できるようにした

【記事取り消し】

内容に誤りがありました。

 

エクセル「VLOOKUP関数」を使って、表から複数の検索結果を引っ張ってこられるようにしました。

 

「みかん」というワードを検索した結果。

f:id:kuroneko_cat_rb:20201008013334p:plain

 

続いて、「りんご」というワードを検索した結果。

f:id:kuroneko_cat_rb:20201008013355p:plain

 

また、「ゼリー」というワードを検索した結果。

f:id:kuroneko_cat_rb:20201008013513p:plain

 

 

きちんと結果が引き出せています。

 

セル内の関数は次のとおりです。

f:id:kuroneko_cat_rb:20201008013558p:plain

 

C5のセル内の内容

=IFERROR(VLOOKUP("*"&$C$2&"*",$C$26:$C$35,1,FALSE),"")

 

C6より下のセルの内容

=IFERROR(IF(D5="","",VLOOKUP("*"&$C$2&"*",OFFSET($C$26:$C$35,D5,0),1,FALSE)),"")

 

続いてD列の入力ですが、

D5は、

=IFERROR(MATCH(C5,$C$26:$C$36,0),"")

 

D6は、

=IFERROR(MATCH(C6,$C$26:$C$36,0),"")

 

となっています。

 

D列で、検索ワードがヒットした際の行を調べています。

C5でヒットしたワードの行をD5で調べ、

C6では、それより下にあるワードを調べています。

「OFFSET関数」は、参照する範囲をずらすことができるので、

このような方法を取ることができました。

 

備忘録

 

flash.cs

 

using System;
using System.Runtime.InteropServices;
using System.Text;

public static class Program
{
private delegate bool EnumWindowsDelegate( IntPtr hWnd, IntPtr lparam );

[DllImport( "user32.dll" )]
static extern Int32 FlashWindowEx( ref FLASHWINFO pwfi );

[DllImport( "user32.dll" )]
[return: MarshalAs( UnmanagedType.Bool )]
private extern static bool EnumWindows( EnumWindowsDelegate lpEnumFunc, IntPtr lparam );

[DllImport( "user32.dll", CharSet = CharSet.Auto, SetLastError = true )]
private static extern int GetClassName( IntPtr hWnd, StringBuilder lpClassName, int nMaxCount );

[StructLayout( LayoutKind.Sequential )]
public struct FLASHWINFO
{
public UInt32 cbSize ; // FLASHWINFO構造体のサイズ
public IntPtr hwnd ; // 点滅対象のウィンドウ・ハンドル
public UInt32 dwFlags ; // 以下の「FLASHW_XXX」のいずれか
public UInt32 uCount ; // 点滅する回数
public UInt32 dwTimeout; // 点滅する間隔(ミリ秒単位)
}

//public const UInt32 FLASHW_STOP = 0 ; // 点滅を止める
//public const UInt32 FLASHW_CAPTION = 1 ; // タイトルバーを点滅させる
//public const UInt32 FLASHW_TRAY = 2 ; // タスクバー・ボタンを点滅させる
//public const UInt32 FLASHW_ALL = 3 ; // タスクバー・ボタンとタイトルバーを点滅させる
//public const UInt32 FLASHW_TIMER = 4 ; // FLASHW_STOPが指定されるまでずっと点滅させる
public const UInt32 FLASHW_TIMERNOFG = 12; // ウィンドウが最前面に来るまでずっと点滅させる

private static string m_searchClassName;
private static IntPtr m_hWnd;

private static void Main()
{
m_searchClassName = "Unity";
EnumWindows( new EnumWindowsDelegate( EnumWindowCallBack ), IntPtr.Zero );

var fInfo = new FLASHWINFO();
fInfo.cbSize = Convert.ToUInt32( Marshal.SizeOf( fInfo ) );
fInfo.hwnd = m_hWnd;
fInfo.dwFlags = FLASHW_TIMERNOFG;
fInfo.uCount = 12;
fInfo.dwTimeout = 12;

FlashWindowEx( ref fInfo );
}

private static bool EnumWindowCallBack( IntPtr hWnd, IntPtr lparam )
{
var csb = new StringBuilder( 256 );
GetClassName( hWnd, csb, csb.Capacity );
if ( !csb.ToString().Contains( m_searchClassName ) ) return true;
m_hWnd = hWnd;
return true;
}
}

 

 

============================================

csc.exe /target:library flash.cs

============================================

 

language-and-engineering.hatenablog.jp

www.atmarkit.co.jp

https://www.php.net/manual/ja/function.dl.php

 

www.dspt.net

baba-s.hatenablog.com

 


dotnet


.NET Framework 4.8
2019年4月18日に正式リリースされた。[20]

 

rpm --import https://packages.microsoft.com/keys/microsoft.asc

sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

yum update

yum install libunwind libicu
yum install dotnet-sdk-2.0.0

※export PATH=$PATH:$HOME/dotnet
dotnet --version

 

dotnet new console -o myApp
cd myApp
dotnet new nuget
vim nuget.config

 

 

 

 


[root@localhost myApp]# dotnet publish -r linux-x64 -c Release
.NET Core 向け Microsoft (R) Build Engine バージョン 15.3.409.57025
Copyright (C) Microsoft Corporation.All rights reserved.

myApp -> /var/www/html/myApp/bin/Release/netcoreapp2.0/linux-x64/myApp.dll
/root/.nuget/packages/microsoft.dotnet.ilcompiler/1.0.0-alpha-27527-01/build/Microsoft.NETCore.Native.Unix.props(103,5): error : Platform linker ('clang-3.9') not found. Try installing clang-3.9 or the appropriate package for your platform to resolve the problem. [/var/www/html/myApp/myApp.csproj]
[root@localhost myApp]#

 

 

[root@localhost linux-x64]# pwd
/var/www/html/myApp/bin/Release/netcoreapp2.0/linux-x64
[root@localhost linux-x64]#
[root@localhost linux-x64]# myApp.dll
bash: myApp.dll: コマンドが見つかりません
[root@localhost linux-x64]# dotnet myApp.dll
Hello World!
[root@localhost linux-x64]#
[root@localhost linux-x64]#

 

 

kagasu.hatenablog.com

docs.microsoft.com