<Windows, dos> バッチファイルを管理者権限で実行する
バッチファイル.bat
を管理者権限administrator privilege
で実行する
ショートカット作成とかあるようですが、タスクスケジューラを使う方法があるっす。
いけてました。
<Python> リスト中の重複した要素を除く、、
リストlist
中の重複した要素duplicated element
を除く、、
set
を使うそうです。
例、、
In [1]: l = ['e', 'd', 'c', 'a', 'b', 'e', 'd'] In [2]: set(l) Out[2]: {'a', 'b', 'c', 'd', 'e'} In [3]: list(set(l)) Out[3]: ['c', 'a', 'b', 'd', 'e'] In [4]: sorted(list(set(l))) Out[4]: ['a', 'b', 'c', 'd', 'e'] In [5]: set? Init signature: set(self, /, *args, **kwargs) Docstring: set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. Type: type
教えてもらいました。
www.lifewithpython.com
<dos> ファイル名だけ取得とか、、
Bash
とかである、変数展開のdos
版。
引数から、ファイル名だけとか、パス名だけを抜き出せる。
HELP CALL
すると、詳細でてくるっす。
>HELP CALL バッチ プログラムを別のバッチ プログラムから呼び出します。 CALL [ドライブ:][パス]ファイル名 [バッチパラメーター] バッチパラメーター バッチ プログラムで必要なコマンド ライン情報を指定します。 コマンド拡張機能を有効にすると、CALL は次のように変更されます: CALL コマンドは、CALL のターゲットとしてラベルを受け付けるようになります。 構文は、次のとおりです: CALL :ラベル 引数 指定された引数で新しいバッチ ファイル コンテキストが作成され、指定 されたラベルの次の文に制御が渡されます。バッチ スクリプト ファイルの 最後に 2 回到達することによって、2 回 "終了" する必要があります。 1 回目に最後に到達したときには、制御は CALL 文の次の行に返されます。 2 回目に、バッチ スクリプトが終了します。バッチ スクリプトから "戻る" ための GOTO :EOF 拡張機能の説明については、GOTO /? と入力してください。 また、バッチ スクリプトの引数参照 (%0、%1 など) の展開は、次のように 変更されました: %* バッチ スクリプト内では、すべての引数 (%1、%2、%3、%4、 %5 など) を参照します。 バッチ パラメーター (%n) の置換は拡張されました。次のオプション構文 を使うことができます: %~1 - すべての引用句 (") を削除して、%1 を展開します。 %~f1 - %1 を完全修飾パス名に展開します。 %~d1 - %1 をドライブ文字だけに展開します。 %~p1 - %1 をパスだけに展開します。 %~n1 - %1 をファイル名だけに展開します。 %~x1 - %1 をファイル拡張子だけに展開します。 %~s1 - 展開されたパスは、短い名前だけを含みます。 %~a1 - %1 をファイル属性に展開します。 %~t1 - %1 をファイルの日付/時刻に展開します。 %~z1 - %1 をファイルのサイズに展開します。 %~$PATH:1 - PATH 環境変数に指定されているディレクトリを検索し、 最初に見つかった完全修飾名に %1 を展開します。 環境変数名が定義されていない場合、または 検索してもファイルが見つからなかった場合は、 この修飾子を指定すると空の文字列に展開されます。 修飾子を組み合わせて、複合結果を得ることもできます: %~dp1 - %1 をドライブ文字とパスだけに展開します。 %~nx1 - %1 をファイル名と拡張子だけに展開します。 %~dp$PATH:1 - PATH 環境変数に指定されているディレクトリを 検索して %1 を探し、最初に見つかったファイル のドライブ文字とパスだけに展開します。 %~ftza1 - %1 を DIR の出力行のように展開します。 上の例の %1 と PATH は、他の有効な値で置き換えることができ ます。%~ 構文は有効な引数の数によって区切られます。%~ 修飾子 は %* と同時には使用できません。
<Vim, Cheatsheet> ショートカット壁紙
ショートカット壁紙 shortcut_wallpaper
<Linux, awk> ファイルを逆順に表示、、
ファイルを列の方向で逆順に表示する。
ただし、ヘッダーheader
はそのままにする。
(head -1 hage.csv ; tail -n +2 hage.csv |tac)
か、
awk '{a[NR]=$0} END{print a[1]; for (i=NR; i>1; i--) print a[i]}' hage.csv
サンキュースタックさん。
stackoverflow.com
<Windows, Python, win32com> COMサーバの登録
win32com
を使って、Windowsのアプリケーションを操作する場合、
そもそも、対象となるアプリケーションが、レジストリregistry
に登録されてないと呼び出せない、、ことを知る。
win32com
から呼び出し可能か? は、makepy.py
で調べれる。
ここにリストされてると、呼び出し可能っぽい。
>cd /c/Anaconda3/Lib/site-packages/win32com/client >python makepy.py
18/09/14 修正。
上記ではうまくなかった。
レジストリに登録されていないと呼び出せないので、レジストリを検索してあるか? 調べるが正解っぽい。
regedit
でレジストリを起動して、HKEY_CLASSES_ROOT
にぶら下がっているアプリケーションが呼び出せるもの。
で、本題。
登録されてない場合、どうやって登録するのか?
Windowsアプリケーションの.dll
(ダイナミックリンクライブラリ形式)とか、.exe
(実行形式)は、
どうも、
ActiveXサーバとか、COMサーバとか呼ばれてるっぽい。
登録は、下記コマンドをコマンドプロンプトでたたく。
#.dllをレジストリに登録 c:\>regsvr32 c:\hage.dll #.dllをレジストリから削除 c:\>regsvr32 /u c:\hage.dll #.exeをレジストリに登録 c:\hage.exe /regserver #.exeをレジストリから削除 c:\hage.exe /unregserver
http://www5.plala.or.jp/softworld/topic_selfregistdll.htm
あと、Win7
だと、管理者権限で登録かけないといけんらしい。
その場合、適当にcom.bat
とかいうファイルを作成して、中を、
c:\hage.exe /regserver
としておいて、管理者権限でcom.bat
を回せばいい。
COM Interface を Windows vista/Windows 7 で実行するには?
長い道のりじゃ。。。
<dos> バッチファイル中で、ネットワークドライブへ移動
バッチファイルbat file
や、コマンドプロンプトcommand prompt
中で、ネットワークドライブNetwork drive
へ移動する。
cd
するとエラー起こす。
C\>cd \\hage\hage '\\hage\hage' CMD では UNC パスは現在のディレクトリとしてサポートされません。
pushd
するそうです。
C:\>pushd \\hage\hage
参考。
バッチファイル内のネットワークパス操作はpushd/popdを使おう
ちなみに、ネットワークドライブはnet use
で見れる。
C:\>net use 新しい接続は記憶されます。 ステータス ローカル名 リモート名 ネットワーク名 --------------------------------------------------------------- OK F: \\hage\hage Microsoft Windows Network
シェアしているディレクトリは、net share
で確認可。
C:\>net share 共有名 リソース 注釈 --------------------------------------------------------------- Hage C:\Users\hage\myworks