VBSスクリプトによる辞書、動的配列、キュー、スタックの実装コード
1. 書き込み環境
今日は気まぐれで、VBSスクリプトを書くためにgVimをダウンロードし、バージョン7.4を使っています
スクリプトを書く前に、gVim のインストール先のルートにある "_vimrc" というファイルを見つけて、以下の3行を追加してください。
セット番号
set softtabstop=4
set tabstop=4
はそれぞれ、"行番号を表示、"バックスペースを押して4つのスペースを一度に削除、"タブの長さを4文字に設定、といった意味です。
この設定は、Linuxの".vimrc"というファイルの設定に似ています。
1. 辞書 スクリプティング。
VBSでのDictionaryは、Scriptingを使用する必要があります。
スクリプトファイル: a.vbs、辞書の追加、削除、キーが存在するかどうかの判断、キーの変更、値の変更、トラバース、キーと値のペアの数のカウントを含む。
ModuleNotFoundError: No module named 'ConfigParser'
呼び出し方法です。a.batをダブルクリックすることで呼び出されます。a.batのコードは以下の通りです。
cscript a.vbs
ポーズ
実行結果のスクリーンショット。
2. 動的な配列 2. 動的配列:System.Collections.ArrayList
VBSでの動的配列には、System.Collections.DynamicArrayを使用する必要があります。
スクリプトファイル:b.vbs 要素追加、要素削除、トラバース、要素数カウント、クリアを行うダイナミックアレイを含む。
cd /usr/local/lib/python3.6
# 进到python依赖包目录,拷贝一份同名文件即可
cp configparser.py ConfigParser.py
呼び出し方法です。以下のコードを持つb.batをダブルクリックすることで呼び出されます。
<ブロッククオート
cscript b.vbs
ポーズ
実行結果のスクリーンショット。
3. キューです。System.Collections.
VBSでキューを使用するには、System.Collections.Parentsを使用する必要があります。
スクリプトファイル: c.vbs は、キューの要素追加(in)、要素削除(out)、トラバース、要素数、空
[root@jack-roy1 python3.6]# pip3 install mysql-python
Sammeln von mysql-python
Verwendung des zwischengespeicherten MySQL-python-1.2.5.zip (108 kB)
Installation der gesammelten Pakete: mysql-python
Ausführen von setup.py install für mysql-python ... Fehler
ERROR: Befehl ist mit Exit-Status 1 fehlgeschlagen:
command: /usr/local/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jn7ia7c9/mysql-python/setup. py'"'"'; __file__='"'"'/tmp/pip-install-jn7ia7c9/mysql-python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f. read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ps0274w2/install-record. txt --single-version-extern-managed --compile --install-headers /usr/local/include/python3.6m/mysql-python
cwd: /tmp/pip-install-jn7ia7c9/mysql-python/
Vollständige Ausgabe (30 Zeilen):
Installation läuft
build läuft
build_py wird ausgeführt
build erstellen
Erzeugen von build/lib.linux-x86_64-3.6
Kopieren von _mysql_exceptions.py -> build/lib.linux-x86_64-3.6
Erzeugen von build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/__init__.py -> build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/converters.py -> build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/Verbindungen.py -> build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/cursors.py -> build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/release.py -> build/lib.linux-x86_64-3.6/MySQLdb
Kopieren von MySQLdb/times.py -> build/lib.linux-x86_64-3.6/MySQLdb
Erzeugen von build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/CR.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/ER.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
Kopieren von MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-3.6/MySQLdb/constants
build_ext ausführen
Erstellen der '_mysql'-Erweiterung
Erstellen von build/temp.linux-x86_64-3.6
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1. 2.5 -I/usr/include/mysql -I/usr/local/include/python3.6m -c _mysql.c -o build/temp.linux-x86_64-3.6/_mysql.o -m64
_mysql.c:44:10: 致命错误:my_config.h:No such file or directory
#include "my_config.h"
^~~~~~~~~~~~~
编译中断。
Fehler: Befehl 'gcc' ist mit Exit-Status 1 fehlgeschlagen
----------------------------------------
ERROR: Befehl ist mit Exit-Status 1 fehlgeschlagen: /usr/local/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-jn7ia7c9/mysql-python/setup. py'"'"'; __file__='"'"'/tmp/pip-install-jn7ia7c9/mysql-python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f. read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ps0274w2/install-record. txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.6m/mysql-python Überprüfen Sie die Protokolle auf vollständige Befehlsausgaben.
呼び出し方法です。c.batをダブルクリックすることで呼び出されます。c.batのコードは以下の通りです。
<ブロッククオート
cscript c.vbs
ポーズ
実行結果のスクリーンショット。
4. スタック System.Collections.
VBSでスタックするには、System.Collections.Fileを使用する必要があります。
スクリプトファイル:d.vbs は、要素の追加(スタック)、要素の削除(スタックアウト)、トラバース、要素のカウント、エンプティを行うスタックを含んでいます。
[root@jack-roy1 python3.6m]# rpm -qa | grep mysql
mysql-errmsg-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
mysql-server-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
soci-mysql-4.0.0-2.el8.x86_64
mysql-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
mysql-devel-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
soci-mysql-devel-4.0.0-2.el8.x86_64
mysql-common-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
[root@jack-roy1 python3.6m]# rpm -ql mysql-devel-8.0.17-3.module_el8.0.0+181+899d6349.x86_64
/usr/bin/mysql_config
/usr/bin/mysql_config-64
/usr/include/mysql
/usr/include/mysql/errmsg.h
/usr/include/mysql/field_types.h
/usr/include/mysql/mein_befehl.h
/usr/include/mysql/meine_liste.h
/usr/include/mysql/mysql
/usr/include/mysql/mysql.h
/usr/include/mysql/mysql/client_plugin.h
/usr/include/mysql/mysql/plugin_auth_common.h
/usr/include/mysql/mysql/udf_registration_types.h
/usr/include/mysql/mysql_com.h
/usr/include/mysql/mysql_time.h
/usr/include/mysql/mysql_version.h
/usr/include/mysql/mysqld_error.h
/usr/include/mysql/mysqlx_name.h
/usr/include/mysql/mysqlx_error.h
/usr/include/mysql/mysqlx_version.h
/usr/lib/.build-id
/usr/lib/.build-id/d8/c229190d63305d0d80a3fd975fe4c5694600ed
/usr/lib64/mysql/libmysqlclient.so
/usr/lib64/pkgconfig/mysqlclient.pc
/usr/share/aclocal/mysql.m4
/usr/share/man/man1/mysql_config.1.gz
[root@jack-roy1 python3.6m]# cd /usr/include/mysql/
[root@jack-roy1 mysql]# ll
总用量 328
-rw-r--r--. 1 root root 5336 6月 25 2019 errmsg.h
-rw-r--r--. 1 root root 3117 6月 25 2019 field_types.h
-rw-r--r--. 1 root root 4386 6月 25 2019 my_command.h
-rw-r--r--. 1 root root 2603 6月 25 2019 my_list.h
drwxr-xr-x. 2 root root 89 3月 31 23:30 mysql
-rw-r-r-x. 1 root root 33869 10月 8 21:24 mysql_com.h
-rw-r--r--. 1 root root 216208 10月 8 21:24 mysqld_error.h
-rw-r--r--. 1 root root 32420 6月 25 2019 mysql.h
-rw-r--r--. 1 root root 2996 6月 25 2019 mysql_time.h
-rw-r--r--. 1 root root 1131 10月 8 21:24 mysql_version.h
-rw-r--r--. 1 root root 5882 10月 8 21:24 mysqlx_ername.h
-rw-r--r--. 1 root root 3474 10月 8 21:24 mysqlx_error.h
-rw-r--r--. 1 root root 1827 10月 8 21:24 mysqlx_version.h
[root@jack-roy1 mysql]# ll
总用量 340
-rw-r--r--. 1 root root 5336 6月 25 2019 errmsg.h
-rw-r--r--. 1 root root 3117 6月 25 2019 field_types.h
-rw-r--r--. 1 root root 4386 6月 25 2019 my_command.h
-rw-r--r-- 1 root root 12030 4月 1 21:06 my_config.h
-rw-r--r--. 1 root root 2603 6月 25 2019 my_list.h
drwxr-xr-x. 2 root root 89 3月 31 23:30 mysql
-rw-r-r-x. 1 root root 33869 10月 8 21:24 mysql_com.h
-rw-r--r--. 1 root root 216208 10月 8 21:24 mysqld_error.h
-rw-r--r--. 1 root root 32420 6月 25 2019 mysql.h
-rw-r--r--. 1 root root 2996 6月 25 2019 mysql_time.h
-rw-r--r--. 1 root root 1131 10月 8 21:24 mysql_version.h
-rw-r--r--. 1 root root 5882 10月 8 21:24 mysqlx_ername.h
-rw-r--r--. 1 root root 3474 10月 8 21:24 mysqlx_error.h
-rw-r--r--. 1 root root 1827 10月 8 21:24 mysqlx_version.h
呼び出し方法です。d.batをダブルクリックすることで呼び出されます。d.batのコードは以下の通りです。
<ブロッククオート
cscript d.vbs
ポーズ
実行結果のスクリーンショット。
キューとスタックをトラバースする際、トラバースの順番は入庫スタックと出庫スタックの順番ではなく、出庫スタックと出庫スタックの順番で決まることがわかります
関連
-
vbs 定期的な監視任務のシフト、定期的に目指しています。
-
IISログ解析ツールのvbsソースコード
-
Office一括アクティベーションのコマンドツールosppの説明
-
vbsアプレットアイコン変更方法の実装
-
自動入力の祝福と面白い実装コードを実現するためにvbsスクリプトを使用する
-
コンピュータのオン/オフ時間を問い合わせるためのvbsコード
-
CPU使用率を取得するVBScriptメソッド
-
vbs と wget を組み合わせて Web サイトの画像をダウンロードする。
-
vbscriptを用いた36ビット自動増加数生成コード
-
Iisftp.vbsを使ったActive Directoryのユーザー分離のセットアップ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vbs pingの2つの実装方法
-
vbs 指定されたファイルを指定されたディレクトリにコピーする。
-
複数ディレクトリの複数ファイルを反復して一括置換するためのVBSスクリプト
-
vbs LAN上のコンピュータのソフトウェアとハードウェアのリストを照会する。
-
VBSがファイルやフォルダのパス入力ファイルの絶対パスをすべて走査する(ソースコード付き)
-
VBSの基本 - vbscript TextStreamオブジェクト
-
VBSの基本 - vbscript動的配列
-
VBSのRunとExecの違い
-
VBSでスペースを含むパスを解決する3つの方法
-
DNSを変更し、IEの一時ファイルを空にするvbsスクリプト