-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.json
1 lines (1 loc) · 67.4 KB
/
db.json
1
{"meta":{"version":1,"warehouse":"4.0.2"},"models":{"Asset":[{"_id":"themes/landscape/source/css/style.styl","path":"css/style.styl","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/blank.gif","path":"fancybox/blank.gif","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/fancybox_loading.gif","path":"fancybox/fancybox_loading.gif","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/fancybox_loading@2x.gif","path":"fancybox/fancybox_loading@2x.gif","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/fancybox_overlay.png","path":"fancybox/fancybox_overlay.png","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/fancybox_sprite.png","path":"fancybox/fancybox_sprite.png","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/fancybox_sprite@2x.png","path":"fancybox/fancybox_sprite@2x.png","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.css","path":"fancybox/jquery.fancybox.css","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.js","path":"fancybox/jquery.fancybox.js","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.pack.js","path":"fancybox/jquery.fancybox.pack.js","modified":0,"renderable":1},{"_id":"themes/landscape/source/js/script.js","path":"js/script.js","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/fonts/FontAwesome.otf","path":"css/fonts/FontAwesome.otf","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.eot","path":"css/fonts/fontawesome-webfont.eot","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.svg","path":"css/fonts/fontawesome-webfont.svg","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.ttf","path":"css/fonts/fontawesome-webfont.ttf","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.woff","path":"css/fonts/fontawesome-webfont.woff","modified":0,"renderable":1},{"_id":"themes/landscape/source/css/images/banner.jpg","path":"css/images/banner.jpg","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/fancybox_buttons.png","path":"fancybox/helpers/fancybox_buttons.png","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css","path":"fancybox/helpers/jquery.fancybox-buttons.css","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js","path":"fancybox/helpers/jquery.fancybox-buttons.js","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-media.js","path":"fancybox/helpers/jquery.fancybox-media.js","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css","path":"fancybox/helpers/jquery.fancybox-thumbs.css","modified":0,"renderable":1},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js","path":"fancybox/helpers/jquery.fancybox-thumbs.js","modified":0,"renderable":1}],"Cache":[{"_id":"source/_posts/The-very-first-article-I-write.md","hash":"3c86a453573c9086c38795232d4a698a1035bc40","modified":1727445621940},{"_id":"source/_posts/hello-world.md","hash":"7d98d6592de80fdcd2949bd7401cec12afd98cdf","modified":1678835591894},{"_id":"themes/landscape/.npmignore","hash":"ea2b285a29690f1eabbad0f3a158e34e9ccd1d86","modified":1727436366485},{"_id":"themes/landscape/Gruntfile.js","hash":"412e30530784993c8997aa8b1319c669b83b91c2","modified":1727436366485},{"_id":"themes/landscape/README.md","hash":"67fedfb66304f103c412f6be110bf3c40c75d4ac","modified":1727436366485},{"_id":"themes/landscape/_config.yml","hash":"ce9d2939245209b8f5c5bbbdadc917d86057d032","modified":1727436366485},{"_id":"themes/landscape/languages/de.yml","hash":"d45cea36c5c83d7d09afcd1c26fff4a4c513c25b","modified":1727436366485},{"_id":"themes/landscape/package.json","hash":"6e567a9654e61eb3f548c75edef380c2e135c433","modified":1727436366500},{"_id":"themes/landscape/languages/default.yml","hash":"f26a34a7983d4bc17c65c7f0f14da598e62ce66d","modified":1727436366485},{"_id":"themes/landscape/languages/es.yml","hash":"e3b4937da4cd2d0393b8a0ba310e70fc605cc431","modified":1727436366485},{"_id":"themes/landscape/languages/fr.yml","hash":"8cb0fe4b6913b4d5b662cdd0108a923c90025f85","modified":1727436366485},{"_id":"themes/landscape/languages/ja.yml","hash":"3e2fedca096678c0c234ebffa4637828979296fa","modified":1727436366485},{"_id":"themes/landscape/languages/ko.yml","hash":"11330316e3c1262474a2b496e40dbc29f93fe01b","modified":1727436366485},{"_id":"themes/landscape/languages/nl.yml","hash":"3d82ec703d0b3287739d7cb4750a715ae83bfcb3","modified":1727436366485},{"_id":"themes/landscape/languages/no.yml","hash":"ddf2035e920a5ecb9076138c184257d9f51896a7","modified":1727436366500},{"_id":"themes/landscape/languages/pt.yml","hash":"ae2c61b30e638f74f1a42c9ce39ac08d063b30f5","modified":1727436366500},{"_id":"themes/landscape/languages/ru.yml","hash":"2a476b4c6e04900914c81378941640ac5d58a1f0","modified":1727436366500},{"_id":"themes/landscape/languages/zh-CN.yml","hash":"b057f389c6713010f97d461e48ec959b0b6f3b44","modified":1727436366500},{"_id":"themes/landscape/languages/zh-TW.yml","hash":"f5f0ca88185da7a8457760d84bf221781473bd7c","modified":1727436366500},{"_id":"themes/landscape/layout/archive.ejs","hash":"2703b07cc8ac64ae46d1d263f4653013c7e1666b","modified":1678835591894},{"_id":"themes/landscape/layout/category.ejs","hash":"765426a9c8236828dc34759e604cc2c52292835a","modified":1678835591894},{"_id":"themes/landscape/layout/index.ejs","hash":"aa1b4456907bdb43e629be3931547e2d29ac58c8","modified":1678835591894},{"_id":"themes/landscape/layout/layout.ejs","hash":"5d86bc48b0f1bdce9a2bb548c2f8e7a4f50d499a","modified":1727436366500},{"_id":"themes/landscape/layout/page.ejs","hash":"7d80e4e36b14d30a7cd2ac1f61376d9ebf264e8b","modified":1678835591894},{"_id":"themes/landscape/layout/post.ejs","hash":"7d80e4e36b14d30a7cd2ac1f61376d9ebf264e8b","modified":1678835591894},{"_id":"themes/landscape/layout/tag.ejs","hash":"eaa7b4ccb2ca7befb90142e4e68995fb1ea68b2e","modified":1678835591894},{"_id":"themes/landscape/scripts/fancybox.js","hash":"4c130fc242cf9b59b5df6ca5eae3b14302311e8c","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/after-footer.ejs","hash":"5e3b70c028d518b8f765e29a5e2020e7ba6ed589","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/archive-post.ejs","hash":"5062c723721d8497eebad372f57092ade45041f4","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/archive.ejs","hash":"017c412bd3d60d22e493f02918e436a32d96bb84","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/article.ejs","hash":"5cf2b8a1148e6f8c4bd9ca9e3b84c7e5a59d56bc","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/footer.ejs","hash":"6faefe07f3d64e21c7743276e0f55ee1544f9d86","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/gauges-analytics.ejs","hash":"ace3000bd3e01d03041d5be24f7640b6c003a5b5","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/google-analytics.ejs","hash":"1ccc627d7697e68fddc367c73ac09920457e5b35","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/head.ejs","hash":"a36cec48782782bac92622f369c750e5c7396510","modified":1727436366500},{"_id":"themes/landscape/LICENSE","hash":"82ce1e15ddeabeaaca60e2186b5a3ce42b1a9c49","modified":1727436366485},{"_id":"themes/landscape/layout/_partial/header.ejs","hash":"cf755454675d13a0813a922b575c06b6b74ab9fd","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/mobile-nav.ejs","hash":"347cf1befd2ea637c24bd5901929d8e36e359e75","modified":1727436366500},{"_id":"themes/landscape/layout/_widget/archive.ejs","hash":"0fe1e52c291c9499bd05b966e0b9aac5be351c58","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/sidebar.ejs","hash":"c70869569749a8f48cce202fa57926c06b55fdab","modified":1727436366500},{"_id":"themes/landscape/layout/_widget/category.ejs","hash":"866790acc13fed44b7ef74c3e19c300a3d6180d8","modified":1727436366500},{"_id":"themes/landscape/layout/_widget/recent_posts.ejs","hash":"16800f85ffb036d2644a26e02facd61acb3706e9","modified":1727436366500},{"_id":"themes/landscape/layout/_widget/tag.ejs","hash":"6017c54a8c3c8ff8db491cfbea3100c139da75d6","modified":1727436366500},{"_id":"themes/landscape/layout/_widget/tagcloud.ejs","hash":"7259c179aa0c41c02e467ad892292e90430aaabc","modified":1727436366500},{"_id":"themes/landscape/source/css/_extend.styl","hash":"8ab1ad313bd6707d248c5ca1ee9a5eab8d815e42","modified":1727436366516},{"_id":"themes/landscape/source/css/_variables.styl","hash":"57bb02270eef16b4823a64ba663ccf2f247f34e5","modified":1727436366516},{"_id":"themes/landscape/source/fancybox/fancybox_loading@2x.gif","hash":"273b123496a42ba45c3416adb027cd99745058b0","modified":1678835591904},{"_id":"themes/landscape/source/css/style.styl","hash":"4a3e64ee8dad5834860c30b4176882eff628ca6b","modified":1727436366516},{"_id":"themes/landscape/source/fancybox/blank.gif","hash":"2daeaa8b5f19f0bc209d976c02bd6acb51b00b0a","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/fancybox_overlay.png","hash":"b3a4ee645ba494f52840ef8412015ba0f465dbe0","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/fancybox_sprite.png","hash":"17df19f97628e77be09c352bf27425faea248251","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/fancybox_sprite@2x.png","hash":"30c58913f327e28f466a00f4c1ac8001b560aed8","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.css","hash":"2e54d51d21e68ebc4bb870f6e57d3bfb660d4f9c","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.js","hash":"58193c802f307ec9bc9e586c0e8a13ebef45d2f8","modified":1727436366532},{"_id":"themes/landscape/source/js/script.js","hash":"c0d368681c687258b628bacc84cc30d353de6d47","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/jquery.fancybox.pack.js","hash":"2da892a02778236b64076e5e8802ef0566e1d9e8","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/fancybox_loading.gif","hash":"1a755fb2599f3a313cc6cfdb14df043f8c14a99c","modified":1678835591904},{"_id":"themes/landscape/layout/_partial/post/category.ejs","hash":"16128d2422645e18d1b6882d4c4df17d895bd76e","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/post/date.ejs","hash":"947f513f7a85fbcf085624e46dc2ae6de8185eec","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/post/nav.ejs","hash":"cbb3819ce512bd24db8bad41b8617d46eba82fdc","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/post/gallery.ejs","hash":"b0bf3f5d923c261ca2b5fabab513f1ec2708c8ca","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/post/tag.ejs","hash":"694b5101bcc44c9f9c1cc62e5ad2fdfb4b7c7a07","modified":1727436366500},{"_id":"themes/landscape/layout/_partial/post/title.ejs","hash":"d4a460a35e2112d0c7414fd5e19b3a16093f1caf","modified":1727436366500},{"_id":"themes/landscape/source/css/_partial/archive.styl","hash":"9e574d8eb1a5285ec3b4346607414770d2f7e0ff","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/article.styl","hash":"e291bc8c5f0c21080baa549d5d9ef2f39a871ea7","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/comment.styl","hash":"2834870661e490775f9154d71638bfdc72e640a6","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/footer.styl","hash":"6f7aa810f296d6a1a4486637b5a853d35a198938","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/header.styl","hash":"67e59feb18eee6026717cb440d86ab9551782628","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/mobile.styl","hash":"680c7b809b62cd3ad294e822793fbd0b1a32cc33","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/highlight.styl","hash":"ac19f1621305ca9f6a7b74acd211a4c0d88690bd","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/sidebar-aside.styl","hash":"1fb15f13ba70d5b954f62920c6b63d26e2fb2985","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/sidebar-bottom.styl","hash":"4132e25ba9680c4b911a01abc75f501cda3fa4f1","modified":1727436366516},{"_id":"themes/landscape/source/css/_partial/sidebar.styl","hash":"8d971a00e644a600179b04815688d188f094012e","modified":1727436366516},{"_id":"themes/landscape/source/css/_util/grid.styl","hash":"1aa883ab432d9e4139c89dcbd40ae2bd1528d029","modified":1727436366516},{"_id":"themes/landscape/source/css/_util/mixin.styl","hash":"429bad87fc156eacf226c5e35b0eafc277f2504b","modified":1727436366516},{"_id":"themes/landscape/source/css/fonts/FontAwesome.otf","hash":"b5b4f9be85f91f10799e87a083da1d050f842734","modified":1678835591904},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.eot","hash":"7619748fe34c64fb157a57f6d4ef3678f63a8f5e","modified":1678835591904},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.woff","hash":"04c3bf56d87a0828935bd6b4aee859995f321693","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/helpers/fancybox_buttons.png","hash":"e385b139516c6813dcd64b8fc431c364ceafe5f3","modified":1678835591904},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js","hash":"4c9c395d705d22af7da06870d18f434e2a2eeaf9","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css","hash":"6394c48092085788a8c0ef72670b0652006231a1","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-media.js","hash":"e14c32cc6823b81b2f758512f13ed8eb9ef2b454","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css","hash":"b88b589f5f1aa1b3d87cc7eef34c281ff749b1ae","modified":1727436366532},{"_id":"themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js","hash":"83cdfea43632b613771691a11f56f99d85fb6dbd","modified":1727436366532},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.ttf","hash":"7f09c97f333917034ad08fa7295e916c9f72fd3f","modified":1678835591904},{"_id":"themes/landscape/source/css/fonts/fontawesome-webfont.svg","hash":"a275426daefd3716c53561fad121d258a7f05b47","modified":1727436366516},{"_id":"themes/landscape/source/css/images/banner.jpg","hash":"f44aa591089fcb3ec79770a1e102fd3289a7c6a6","modified":1678835591904},{"_id":"public/2023/03/18/The-very-first-article-I-write/index.html","hash":"1448ddf51b36d18dd3bf17bc7ae7a68704d34024","modified":1727445629056},{"_id":"public/2023/03/15/hello-world/index.html","hash":"bb711064175f79688b15d8630d5437b0069448aa","modified":1679108155877},{"_id":"public/archives/index.html","hash":"cf42348e9ad6a8ed2352ed5e7583012fc2036161","modified":1727439665549},{"_id":"public/archives/2023/index.html","hash":"14153e93ec8427564e77fcdea3b6bb878c630de1","modified":1727439665549},{"_id":"public/archives/2023/03/index.html","hash":"4d38e044454a5627375f3236966ceed37e579c2f","modified":1727439665549},{"_id":"public/index.html","hash":"d7c6dce5dabf51568ff01f0f8171f0ae3c7f8538","modified":1727464059816},{"_id":"public/fancybox/blank.gif","hash":"2daeaa8b5f19f0bc209d976c02bd6acb51b00b0a","modified":1679108155877},{"_id":"public/fancybox/fancybox_loading.gif","hash":"1a755fb2599f3a313cc6cfdb14df043f8c14a99c","modified":1679108155877},{"_id":"public/fancybox/fancybox_loading@2x.gif","hash":"273b123496a42ba45c3416adb027cd99745058b0","modified":1679108155877},{"_id":"public/fancybox/fancybox_overlay.png","hash":"b3a4ee645ba494f52840ef8412015ba0f465dbe0","modified":1679108155877},{"_id":"public/fancybox/fancybox_sprite.png","hash":"17df19f97628e77be09c352bf27425faea248251","modified":1679108155877},{"_id":"public/fancybox/fancybox_sprite@2x.png","hash":"30c58913f327e28f466a00f4c1ac8001b560aed8","modified":1679108155877},{"_id":"public/css/fonts/FontAwesome.otf","hash":"b5b4f9be85f91f10799e87a083da1d050f842734","modified":1679108155877},{"_id":"public/css/fonts/fontawesome-webfont.eot","hash":"7619748fe34c64fb157a57f6d4ef3678f63a8f5e","modified":1679108155877},{"_id":"public/css/fonts/fontawesome-webfont.woff","hash":"04c3bf56d87a0828935bd6b4aee859995f321693","modified":1679108155877},{"_id":"public/fancybox/helpers/fancybox_buttons.png","hash":"e385b139516c6813dcd64b8fc431c364ceafe5f3","modified":1679108155877},{"_id":"public/css/fonts/fontawesome-webfont.ttf","hash":"7f09c97f333917034ad08fa7295e916c9f72fd3f","modified":1679108155877},{"_id":"public/fancybox/jquery.fancybox.css","hash":"aaa582fb9eb4b7092dc69fcb2d5b1c20cca58ab6","modified":1679108155877},{"_id":"public/js/script.js","hash":"2876e0b19ce557fca38d7c6f49ca55922ab666a1","modified":1679108155877},{"_id":"public/fancybox/helpers/jquery.fancybox-buttons.css","hash":"1a9d8e5c22b371fcc69d4dbbb823d9c39f04c0c8","modified":1679108155877},{"_id":"public/fancybox/helpers/jquery.fancybox-buttons.js","hash":"dc3645529a4bf72983a39fa34c1eb9146e082019","modified":1679108155877},{"_id":"public/fancybox/helpers/jquery.fancybox-media.js","hash":"294420f9ff20f4e3584d212b0c262a00a96ecdb3","modified":1679108155877},{"_id":"public/fancybox/helpers/jquery.fancybox-thumbs.css","hash":"4ac329c16a5277592fc12a37cca3d72ca4ec292f","modified":1679108155877},{"_id":"public/fancybox/helpers/jquery.fancybox-thumbs.js","hash":"47da1ae5401c24b5c17cc18e2730780f5c1a7a0c","modified":1679108155877},{"_id":"public/css/style.css","hash":"3986ef4b1f56bf0ac3bc45aab261e0278794c3f1","modified":1679108155877},{"_id":"public/fancybox/jquery.fancybox.js","hash":"d08b03a42d5c4ba456ef8ba33116fdbb7a9cabed","modified":1679108155877},{"_id":"public/fancybox/jquery.fancybox.pack.js","hash":"9e0d51ca1dbe66f6c0c7aefd552dc8122e694a6e","modified":1679108155877},{"_id":"public/css/fonts/fontawesome-webfont.svg","hash":"a275426daefd3716c53561fad121d258a7f05b47","modified":1727439420659},{"_id":"public/css/images/banner.jpg","hash":"f44aa591089fcb3ec79770a1e102fd3289a7c6a6","modified":1679108155877},{"_id":"source/_drafts/MyNewTest.md","hash":"f29af3ee2d1e08ac24badf3fa0081a9e914c5e7a","modified":1727436366485},{"_id":"source/_posts/MyNewTest.md","hash":"f29af3ee2d1e08ac24badf3fa0081a9e914c5e7a","modified":1727436630639},{"_id":"source/_posts/Powershell的字符串的格式化.md","hash":"c4226615bc1f273bfcb5d65dec70f14e20d83b74","modified":1727463974168},{"_id":"public/2024/09/27/Powershell的字符串的格式化/index.html","hash":"31efb000a7fd1bcf3b3c394d3c4656061b8d52bf","modified":1727464059816},{"_id":"public/2023/11/26/MyNewTest/index.html","hash":"3409c5fccd5b2363c2a94022e647f59f5b85dc5f","modified":1727439420659},{"_id":"public/archives/2023/11/index.html","hash":"f68511481f98327f70fe680bcccc29e8f940d653","modified":1727439420659},{"_id":"public/archives/2024/index.html","hash":"b33c65b3367afddca8eaa1ca81d94bed49630b0a","modified":1727439665549},{"_id":"public/archives/2024/09/index.html","hash":"c1d6b1c9e2ec0af648326c73a8b212db0f63ee9c","modified":1727439665549},{"_id":"source/_posts/Powershell的字符串的格式化.html","hash":"742af4775d7136e57f563ece5266a80f31d646bc","modified":1727445243956}],"Category":[],"Data":[],"Page":[],"Post":[{"title":"The very first article I write","date":"2023-03-18T02:19:41.000Z","_content":"\n```python\nprint(\"Hello World!\")\n```\n\n|语言|内容|\n|:---:|:--|\n|`python`| `PySide`|\n| `R` | `base-R`, `tidyverse`|","source":"_posts/The-very-first-article-I-write.md","raw":"---\ntitle: The very first article I write\ndate: 2023-03-18 10:19:41\ntags:\n---\n\n```python\nprint(\"Hello World!\")\n```\n\n|语言|内容|\n|:---:|:--|\n|`python`| `PySide`|\n| `R` | `base-R`, `tidyverse`|","slug":"The-very-first-article-I-write","published":1,"updated":"2024-09-27T14:00:21.940Z","_id":"clfddn53f0000x8lc681p73qy","comments":1,"layout":"post","photos":[],"link":"","content":"<figure class=\"highlight python\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"built_in\">print</span>(<span class=\"string\">"Hello World!"</span>)</span><br></pre></td></tr></table></figure>\n\n<table>\n<thead>\n<tr>\n<th align=\"center\">语言</th>\n<th align=\"left\">内容</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"center\"><code>python</code></td>\n<td align=\"left\"><code>PySide</code></td>\n</tr>\n<tr>\n<td align=\"center\"><code>R</code></td>\n<td align=\"left\"><code>base-R</code>, <code>tidyverse</code></td>\n</tr>\n</tbody></table>\n","site":{"data":{}},"excerpt":"","more":"<figure class=\"highlight python\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"built_in\">print</span>(<span class=\"string\">"Hello World!"</span>)</span><br></pre></td></tr></table></figure>\n\n<table>\n<thead>\n<tr>\n<th align=\"center\">语言</th>\n<th align=\"left\">内容</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"center\"><code>python</code></td>\n<td align=\"left\"><code>PySide</code></td>\n</tr>\n<tr>\n<td align=\"center\"><code>R</code></td>\n<td align=\"left\"><code>base-R</code>, <code>tidyverse</code></td>\n</tr>\n</tbody></table>\n"},{"title":"PowerShell 或者说 .NET 中的字符串替换","date":"2024-09-27T11:32:18.000Z","_content":"主要参考了 MSDN 官网的[教程](https://learn.microsoft.com/zh-cn/powershell/scripting/learn/deep-dives/everything-about-string-substitutions)\n\n\n## Concatenation 连接\n\n首先即是各个编程语言均支持的语法糖:`+` 作为字符串拼接。\n\n```powershell\n$name = Xiaoming\n$message = \"Hello, \" + $name\n```\n\n## Variable substitutions 变量替换\n\n即直接使用 `$` 或 `$()` 在字符串里引用替换\n\n```powershell\n$first = \"Li\"\n$last = \"Xiaoming\"\n$message = \"Hello, ${first} ${last}\"\n$msg = \"Hello, $first $last\"\n```\n\n## Command substitution 命令替换\n\n```powershell\n❯ $directory = Get-ChildItem -Path C:\\Windows\n❯ $message = \"Time: $($directory.CreationTime)\" # 这里必须使用$()取值\n❯ Write-Output $message\n```\n\n### Command execution 命令执行\n\n```powershell\n❯ \"Date: $(Get-Date)\" # 此处时间的默认格式和 locale 的设置有关\nDate: 09/28/2024 00:00:00\n```\n\n## Format string 格式化字符串\n\n```powershell\n# .NET 字符串格式化\n❯ [string]::Format('Hello, {0} {1}', $first, $last)\n# 或者是 powershell 中的\n❯ 'Hello, {0} {1}' -f $first, $last\n```\n\n### Format values as arrays 将值格式化为数组\n\n```powershell\n# 即一种解包的方式\n$values = @(\n \"Xiaoming\",\n \"Lili\"\n)\n'Hello, {0} {1}.' -f $values\n```\n\n## 高级格式设置\n\n这是来自于 .NET 的方法,也就是 [`String.Format`](https://learn.microsoft.com/zh-cn/dotnet/api/system.string.format) 的方法\n此处参考博客 [一个有故事的devops: powershell字符串操作](https://www.cnblogs.com/zqj-blog/p/10044181.html) \n\n对时间的字符串格式化\n\n```powershell\n❯ '{0:yyyy-MM-dd}' -f (Get-Date)\n2024-09-28\n```\n\n1. 固定列宽\n\n```powershell\n$a = \"name\"\n$b = \"age\"\n$c = \"sex\"\n# 分别指定 0,1,2,对应 $a, $b, $c,然后再指定宽度15左对齐\n$d = \"{0,-15}{1,-15}{2,-15}\" -f $a, $b, $c \nWrite-Output $d # 输出 $d\n```\n\n2. 将数字转换成百分数\n\n```powershell\n\"{0:p}\" -f 3.14159 # 默认转换是两位\n\n\"{0:p5}\" -f 3.1415926 # 也可以指定位数\n```\n\n3. 保留 n 位小数\n\n```powershell\n\"{0:n0}\" -f 3.14 # 3\n\"{0:n3}\" - f 3.14159 # 3.141\n```\n\n4. 字符串替换\n\n常用的格式化的数值表格\n\n\n|字符| 示例 | 说明 |\n| :--:|:-- |:-- |\n|`e` | `>\"{0:e2}\" -f 2000` <br>`2.00e+003` |**e**xponent 科学计数法 |\n| `d` | `>\"{0:d}\" -f 2000` <br>`2000` | **d**ecimal 整数 |\n| `f` | `>\"{0:f2}\" -f 2000` |**f**ixed point 小数点后指定位数 | \n| `g` | `>\"{0:g}\" -f 2000` <br>`2000` | **g**eneral 小数点后最多一位,整数则不显示小数点 |\n| `n` | `>\"{0:n}\" -f 2000` <br>`2,000` |**n**umber 默认小数点后两位,整数则不显示小数点 | \n| `c` | `>\"{0:c}\" -f 2000` <br>`¥ 2,000.00`| **c**urrency 货币格式,小数点后两位,整数则不显示小数点 | \n| `p` | `>\"{0:p}\" -f 0.98765` <br>`98.76%` | **p**ercent 百分数,小数点后两位,整数则不显示小数点 |\n| `x` | `>\"{0:x}\" -f 2000` <br>`7d0` | he**x**adecimal 十六进制|\n\n5. 字符串包含\n\n```powershell\n❯ \"I have a dream\".Contains(\"have\")\nTrue\n\n❯ \"I have a dream\".Contains(\"i\")\nFalse\n\n❯ \"I have a dream\" -match \"i\"\nTrue\n\n❯ \"I have a dream\" -cmatch \"i\"\nFalse\n```\n\n`字符串.Contains`、`-cmath` 区分大小写,而 `-match` 忽略大小写\n\n### 联接字符串\n\n使用 `-join` 连接字符串\n\n```powershell\n❯ $server = @(\n∙ 'server1',\n∙ 'server2',\n∙ 'server3'\n∙ )\n❯ $server -join ','\nserver1,server2,server3\n```\n\n### `Join-Path`\n\n`Join-Path` 是 PowerShell 中的一个内置函数,用于将多个路径元素组合成一个完整的路径。`\n\n```powershell\n❯ $folder = \"Temp\"\n❯ Join-Path -Path 'C:\\Windows' -ChildPath $folder\nC:\\Windows\\Temp\n```\n\n## StringBuilder\n\n`StringBuilder` 是 .NET Framework 中的一个类,用于在运行时动态地创建和修改字符串。它提供了一种更高效的方式来拼接字符串,因为它不会在每次拼接时都创建一个新的字符串对象,而是将拼接后的字符串追加到`StringBuilder`对象中。\n\n```powershell\n$stringBuilder = New-Object -TypeName \"System.Text.StringBuilder\"\n\n[void]$stringBuilder.Append(\"Numbers: \")\nforeach($number in 1..10000)\n{\n [void]$stringBuilder.Append(\" $number\")\n}\n$message = $stringBuilder.ToString()\n```\n\n## 带大括号的描述符\n\n`${<var names>}` 这样的调用方式能更好的明确边界\n\n```powershell\nWrite-Host \"$test $tester $($test)ter\"\nWrite-Host \"{0} {1} {0}ter\" -f $test, $tester\n```\n","source":"_posts/Powershell的字符串的格式化.md","raw":"---\ntitle: PowerShell 或者说 .NET 中的字符串替换\ndate: 2024-09-27 19:32:18\ntags:\n---\n主要参考了 MSDN 官网的[教程](https://learn.microsoft.com/zh-cn/powershell/scripting/learn/deep-dives/everything-about-string-substitutions)\n\n\n## Concatenation 连接\n\n首先即是各个编程语言均支持的语法糖:`+` 作为字符串拼接。\n\n```powershell\n$name = Xiaoming\n$message = \"Hello, \" + $name\n```\n\n## Variable substitutions 变量替换\n\n即直接使用 `$` 或 `$()` 在字符串里引用替换\n\n```powershell\n$first = \"Li\"\n$last = \"Xiaoming\"\n$message = \"Hello, ${first} ${last}\"\n$msg = \"Hello, $first $last\"\n```\n\n## Command substitution 命令替换\n\n```powershell\n❯ $directory = Get-ChildItem -Path C:\\Windows\n❯ $message = \"Time: $($directory.CreationTime)\" # 这里必须使用$()取值\n❯ Write-Output $message\n```\n\n### Command execution 命令执行\n\n```powershell\n❯ \"Date: $(Get-Date)\" # 此处时间的默认格式和 locale 的设置有关\nDate: 09/28/2024 00:00:00\n```\n\n## Format string 格式化字符串\n\n```powershell\n# .NET 字符串格式化\n❯ [string]::Format('Hello, {0} {1}', $first, $last)\n# 或者是 powershell 中的\n❯ 'Hello, {0} {1}' -f $first, $last\n```\n\n### Format values as arrays 将值格式化为数组\n\n```powershell\n# 即一种解包的方式\n$values = @(\n \"Xiaoming\",\n \"Lili\"\n)\n'Hello, {0} {1}.' -f $values\n```\n\n## 高级格式设置\n\n这是来自于 .NET 的方法,也就是 [`String.Format`](https://learn.microsoft.com/zh-cn/dotnet/api/system.string.format) 的方法\n此处参考博客 [一个有故事的devops: powershell字符串操作](https://www.cnblogs.com/zqj-blog/p/10044181.html) \n\n对时间的字符串格式化\n\n```powershell\n❯ '{0:yyyy-MM-dd}' -f (Get-Date)\n2024-09-28\n```\n\n1. 固定列宽\n\n```powershell\n$a = \"name\"\n$b = \"age\"\n$c = \"sex\"\n# 分别指定 0,1,2,对应 $a, $b, $c,然后再指定宽度15左对齐\n$d = \"{0,-15}{1,-15}{2,-15}\" -f $a, $b, $c \nWrite-Output $d # 输出 $d\n```\n\n2. 将数字转换成百分数\n\n```powershell\n\"{0:p}\" -f 3.14159 # 默认转换是两位\n\n\"{0:p5}\" -f 3.1415926 # 也可以指定位数\n```\n\n3. 保留 n 位小数\n\n```powershell\n\"{0:n0}\" -f 3.14 # 3\n\"{0:n3}\" - f 3.14159 # 3.141\n```\n\n4. 字符串替换\n\n常用的格式化的数值表格\n\n\n|字符| 示例 | 说明 |\n| :--:|:-- |:-- |\n|`e` | `>\"{0:e2}\" -f 2000` <br>`2.00e+003` |**e**xponent 科学计数法 |\n| `d` | `>\"{0:d}\" -f 2000` <br>`2000` | **d**ecimal 整数 |\n| `f` | `>\"{0:f2}\" -f 2000` |**f**ixed point 小数点后指定位数 | \n| `g` | `>\"{0:g}\" -f 2000` <br>`2000` | **g**eneral 小数点后最多一位,整数则不显示小数点 |\n| `n` | `>\"{0:n}\" -f 2000` <br>`2,000` |**n**umber 默认小数点后两位,整数则不显示小数点 | \n| `c` | `>\"{0:c}\" -f 2000` <br>`¥ 2,000.00`| **c**urrency 货币格式,小数点后两位,整数则不显示小数点 | \n| `p` | `>\"{0:p}\" -f 0.98765` <br>`98.76%` | **p**ercent 百分数,小数点后两位,整数则不显示小数点 |\n| `x` | `>\"{0:x}\" -f 2000` <br>`7d0` | he**x**adecimal 十六进制|\n\n5. 字符串包含\n\n```powershell\n❯ \"I have a dream\".Contains(\"have\")\nTrue\n\n❯ \"I have a dream\".Contains(\"i\")\nFalse\n\n❯ \"I have a dream\" -match \"i\"\nTrue\n\n❯ \"I have a dream\" -cmatch \"i\"\nFalse\n```\n\n`字符串.Contains`、`-cmath` 区分大小写,而 `-match` 忽略大小写\n\n### 联接字符串\n\n使用 `-join` 连接字符串\n\n```powershell\n❯ $server = @(\n∙ 'server1',\n∙ 'server2',\n∙ 'server3'\n∙ )\n❯ $server -join ','\nserver1,server2,server3\n```\n\n### `Join-Path`\n\n`Join-Path` 是 PowerShell 中的一个内置函数,用于将多个路径元素组合成一个完整的路径。`\n\n```powershell\n❯ $folder = \"Temp\"\n❯ Join-Path -Path 'C:\\Windows' -ChildPath $folder\nC:\\Windows\\Temp\n```\n\n## StringBuilder\n\n`StringBuilder` 是 .NET Framework 中的一个类,用于在运行时动态地创建和修改字符串。它提供了一种更高效的方式来拼接字符串,因为它不会在每次拼接时都创建一个新的字符串对象,而是将拼接后的字符串追加到`StringBuilder`对象中。\n\n```powershell\n$stringBuilder = New-Object -TypeName \"System.Text.StringBuilder\"\n\n[void]$stringBuilder.Append(\"Numbers: \")\nforeach($number in 1..10000)\n{\n [void]$stringBuilder.Append(\" $number\")\n}\n$message = $stringBuilder.ToString()\n```\n\n## 带大括号的描述符\n\n`${<var names>}` 这样的调用方式能更好的明确边界\n\n```powershell\nWrite-Host \"$test $tester $($test)ter\"\nWrite-Host \"{0} {1} {0}ter\" -f $test, $tester\n```\n","slug":"Powershell的字符串的格式化","published":1,"updated":"2024-09-27T19:06:14.168Z","_id":"cm1kotvul0002o8j43v5605js","comments":1,"layout":"post","photos":[],"link":"","content":"<p>主要参考了 MSDN 官网的<a href=\"https://learn.microsoft.com/zh-cn/powershell/scripting/learn/deep-dives/everything-about-string-substitutions\">教程</a></p>\n<h2 id=\"Concatenation-连接\"><a href=\"#Concatenation-连接\" class=\"headerlink\" title=\"Concatenation 连接\"></a>Concatenation 连接</h2><p>首先即是各个编程语言均支持的语法糖:<code>+</code> 作为字符串拼接。</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$name</span> = Xiaoming</span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"string\">"Hello, "</span> + <span class=\"variable\">$name</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Variable-substitutions-变量替换\"><a href=\"#Variable-substitutions-变量替换\" class=\"headerlink\" title=\"Variable substitutions 变量替换\"></a>Variable substitutions 变量替换</h2><p>即直接使用 <code>$</code> 或 <code>$()</code> 在字符串里引用替换</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$first</span> = <span class=\"string\">"Li"</span></span><br><span class=\"line\"><span class=\"variable\">$last</span> = <span class=\"string\">"Xiaoming"</span></span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"string\">"Hello, <span class=\"variable\">$</span>{first} <span class=\"variable\">$</span>{last}"</span></span><br><span class=\"line\"><span class=\"variable\">$msg</span> = <span class=\"string\">"Hello, <span class=\"variable\">$first</span> <span class=\"variable\">$last</span>"</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Command-substitution-命令替换\"><a href=\"#Command-substitution-命令替换\" class=\"headerlink\" title=\"Command substitution 命令替换\"></a>Command substitution 命令替换</h2><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$directory</span> = <span class=\"built_in\">Get-ChildItem</span> <span class=\"literal\">-Path</span> C:\\Windows</span><br><span class=\"line\">❯ <span class=\"variable\">$message</span> = <span class=\"string\">"Time: <span class=\"variable\">$</span>(<span class=\"variable\">$directory</span>.CreationTime)"</span> <span class=\"comment\"># 这里必须使用$()取值</span></span><br><span class=\"line\">❯ <span class=\"built_in\">Write-Output</span> <span class=\"variable\">$message</span></span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Command-execution-命令执行\"><a href=\"#Command-execution-命令执行\" class=\"headerlink\" title=\"Command execution 命令执行\"></a>Command execution 命令执行</h3><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">"Date: <span class=\"variable\">$</span>(Get-Date)"</span> <span class=\"comment\"># 此处时间的默认格式和 locale 的设置有关</span></span><br><span class=\"line\">Date: <span class=\"number\">09</span>/<span class=\"number\">28</span>/<span class=\"number\">2024</span> <span class=\"number\">00</span>:<span class=\"number\">00</span>:<span class=\"number\">00</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Format-string-格式化字符串\"><a href=\"#Format-string-格式化字符串\" class=\"headerlink\" title=\"Format string 格式化字符串\"></a>Format string 格式化字符串</h2><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"comment\"># .NET 字符串格式化</span></span><br><span class=\"line\">❯ [<span class=\"built_in\">string</span>]::Format(<span class=\"string\">'Hello, {0} {1}'</span>, <span class=\"variable\">$first</span>, <span class=\"variable\">$last</span>)</span><br><span class=\"line\"><span class=\"comment\"># 或者是 powershell 中的</span></span><br><span class=\"line\">❯ <span class=\"string\">'Hello, {0} {1}'</span> <span class=\"operator\">-f</span> <span class=\"variable\">$first</span>, <span class=\"variable\">$last</span></span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Format-values-as-arrays-将值格式化为数组\"><a href=\"#Format-values-as-arrays-将值格式化为数组\" class=\"headerlink\" title=\"Format values as arrays 将值格式化为数组\"></a>Format values as arrays 将值格式化为数组</h3><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"comment\"># 即一种解包的方式</span></span><br><span class=\"line\"><span class=\"variable\">$values</span> = <span class=\"selector-tag\">@</span>(</span><br><span class=\"line\"> <span class=\"string\">"Xiaoming"</span>,</span><br><span class=\"line\"> <span class=\"string\">"Lili"</span></span><br><span class=\"line\">)</span><br><span class=\"line\"><span class=\"string\">'Hello, {0} {1}.'</span> <span class=\"operator\">-f</span> <span class=\"variable\">$values</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"高级格式设置\"><a href=\"#高级格式设置\" class=\"headerlink\" title=\"高级格式设置\"></a>高级格式设置</h2><p>这是来自于 .NET 的方法,也就是 <a href=\"https://learn.microsoft.com/zh-cn/dotnet/api/system.string.format\"><code>String.Format</code></a> 的方法<br>此处参考博客 <a href=\"https://www.cnblogs.com/zqj-blog/p/10044181.html\">一个有故事的devops: powershell字符串操作</a> </p>\n<p>对时间的字符串格式化</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">'{0:yyyy-MM-dd}'</span> <span class=\"operator\">-f</span> (<span class=\"built_in\">Get-Date</span>)</span><br><span class=\"line\"><span class=\"number\">2024</span><span class=\"literal\">-09-28</span></span><br></pre></td></tr></table></figure>\n\n<ol>\n<li>固定列宽</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$a</span> = <span class=\"string\">"name"</span></span><br><span class=\"line\"><span class=\"variable\">$b</span> = <span class=\"string\">"age"</span></span><br><span class=\"line\"><span class=\"variable\">$c</span> = <span class=\"string\">"sex"</span></span><br><span class=\"line\"><span class=\"comment\"># 分别指定 0,1,2,对应 $a, $b, $c,然后再指定宽度15左对齐</span></span><br><span class=\"line\"><span class=\"variable\">$d</span> = <span class=\"string\">"{0,-15}{1,-15}{2,-15}"</span> <span class=\"operator\">-f</span> <span class=\"variable\">$a</span>, <span class=\"variable\">$b</span>, <span class=\"variable\">$c</span> </span><br><span class=\"line\"><span class=\"built_in\">Write-Output</span> <span class=\"variable\">$d</span> <span class=\"comment\"># 输出 $d</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"2\">\n<li>将数字转换成百分数</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"string\">"{0:p}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.14159</span> <span class=\"comment\"># 默认转换是两位</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"string\">"{0:p5}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.1415926</span> <span class=\"comment\"># 也可以指定位数</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"3\">\n<li>保留 n 位小数</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"string\">"{0:n0}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.14</span> <span class=\"comment\"># 3</span></span><br><span class=\"line\"><span class=\"string\">"{0:n3}"</span> - f <span class=\"number\">3.14159</span> <span class=\"comment\"># 3.141</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"4\">\n<li>字符串替换</li>\n</ol>\n<p>常用的格式化的数值表格</p>\n<table>\n<thead>\n<tr>\n<th align=\"center\">字符</th>\n<th align=\"left\">示例</th>\n<th align=\"left\">说明</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"center\"><code>e</code></td>\n<td align=\"left\"><code>>"{0:e2}" -f 2000</code> <br><code>2.00e+003</code></td>\n<td align=\"left\"><strong>e</strong>xponent 科学计数法</td>\n</tr>\n<tr>\n<td align=\"center\"><code>d</code></td>\n<td align=\"left\"><code>>"{0:d}" -f 2000</code> <br><code>2000</code></td>\n<td align=\"left\"><strong>d</strong>ecimal 整数</td>\n</tr>\n<tr>\n<td align=\"center\"><code>f</code></td>\n<td align=\"left\"><code>>"{0:f2}" -f 2000</code></td>\n<td align=\"left\"><strong>f</strong>ixed point 小数点后指定位数</td>\n</tr>\n<tr>\n<td align=\"center\"><code>g</code></td>\n<td align=\"left\"><code>>"{0:g}" -f 2000</code> <br><code>2000</code></td>\n<td align=\"left\"><strong>g</strong>eneral 小数点后最多一位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>n</code></td>\n<td align=\"left\"><code>>"{0:n}" -f 2000</code> <br><code>2,000</code></td>\n<td align=\"left\"><strong>n</strong>umber 默认小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>c</code></td>\n<td align=\"left\"><code>>"{0:c}" -f 2000</code> <br><code>¥ 2,000.00</code></td>\n<td align=\"left\"><strong>c</strong>urrency 货币格式,小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>p</code></td>\n<td align=\"left\"><code>>"{0:p}" -f 0.98765</code> <br><code>98.76%</code></td>\n<td align=\"left\"><strong>p</strong>ercent 百分数,小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>x</code></td>\n<td align=\"left\"><code>>"{0:x}" -f 2000</code> <br><code>7d0</code></td>\n<td align=\"left\">he<strong>x</strong>adecimal 十六进制</td>\n</tr>\n</tbody></table>\n<ol start=\"5\">\n<li>字符串包含</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br><span class=\"line\">8</span><br><span class=\"line\">9</span><br><span class=\"line\">10</span><br><span class=\"line\">11</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span>.Contains(<span class=\"string\">"have"</span>)</span><br><span class=\"line\">True</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span>.Contains(<span class=\"string\">"i"</span>)</span><br><span class=\"line\">False</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span> <span class=\"operator\">-match</span> <span class=\"string\">"i"</span></span><br><span class=\"line\">True</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span> <span class=\"operator\">-cmatch</span> <span class=\"string\">"i"</span></span><br><span class=\"line\">False</span><br></pre></td></tr></table></figure>\n\n<p><code>字符串.Contains</code>、<code>-cmath</code> 区分大小写,而 <code>-match</code> 忽略大小写</p>\n<h3 id=\"联接字符串\"><a href=\"#联接字符串\" class=\"headerlink\" title=\"联接字符串\"></a>联接字符串</h3><p>使用 <code>-join</code> 连接字符串</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$server</span> = <span class=\"selector-tag\">@</span>(</span><br><span class=\"line\">∙ <span class=\"string\">'server1'</span>,</span><br><span class=\"line\">∙ <span class=\"string\">'server2'</span>,</span><br><span class=\"line\">∙ <span class=\"string\">'server3'</span></span><br><span class=\"line\">∙ )</span><br><span class=\"line\">❯ <span class=\"variable\">$server</span> <span class=\"operator\">-join</span> <span class=\"string\">','</span></span><br><span class=\"line\">server1,server2,server3</span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Join-Path\"><a href=\"#Join-Path\" class=\"headerlink\" title=\"Join-Path\"></a><code>Join-Path</code></h3><p><code>Join-Path</code> 是 PowerShell 中的一个内置函数,用于将多个路径元素组合成一个完整的路径。`</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$folder</span> = <span class=\"string\">"Temp"</span></span><br><span class=\"line\">❯ <span class=\"built_in\">Join-Path</span> <span class=\"literal\">-Path</span> <span class=\"string\">'C:\\Windows'</span> <span class=\"literal\">-ChildPath</span> <span class=\"variable\">$folder</span></span><br><span class=\"line\">C:\\Windows\\Temp</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"StringBuilder\"><a href=\"#StringBuilder\" class=\"headerlink\" title=\"StringBuilder\"></a>StringBuilder</h2><p><code>StringBuilder</code> 是 .NET Framework 中的一个类,用于在运行时动态地创建和修改字符串。它提供了一种更高效的方式来拼接字符串,因为它不会在每次拼接时都创建一个新的字符串对象,而是将拼接后的字符串追加到<code>StringBuilder</code>对象中。</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br><span class=\"line\">8</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$stringBuilder</span> = <span class=\"built_in\">New-Object</span> <span class=\"literal\">-TypeName</span> <span class=\"string\">"System.Text.StringBuilder"</span></span><br><span class=\"line\"></span><br><span class=\"line\">[<span class=\"built_in\">void</span>]<span class=\"variable\">$stringBuilder</span>.Append(<span class=\"string\">"Numbers: "</span>)</span><br><span class=\"line\"><span class=\"keyword\">foreach</span>(<span class=\"variable\">$number</span> <span class=\"keyword\">in</span> <span class=\"number\">1</span>..<span class=\"number\">10000</span>)</span><br><span class=\"line\">{</span><br><span class=\"line\"> [<span class=\"built_in\">void</span>]<span class=\"variable\">$stringBuilder</span>.Append(<span class=\"string\">" <span class=\"variable\">$number</span>"</span>)</span><br><span class=\"line\">}</span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"variable\">$stringBuilder</span>.ToString()</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"带大括号的描述符\"><a href=\"#带大括号的描述符\" class=\"headerlink\" title=\"带大括号的描述符\"></a>带大括号的描述符</h2><p><code>${<var names>}</code> 这样的调用方式能更好的明确边界</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"built_in\">Write-Host</span> <span class=\"string\">"<span class=\"variable\">$test</span> <span class=\"variable\">$tester</span> <span class=\"variable\">$</span>(<span class=\"variable\">$test</span>)ter"</span></span><br><span class=\"line\"><span class=\"built_in\">Write-Host</span> <span class=\"string\">"{0} {1} {0}ter"</span> <span class=\"operator\">-f</span> <span class=\"variable\">$test</span>, <span class=\"variable\">$tester</span></span><br></pre></td></tr></table></figure>\n","site":{"data":{}},"excerpt":"","more":"<p>主要参考了 MSDN 官网的<a href=\"https://learn.microsoft.com/zh-cn/powershell/scripting/learn/deep-dives/everything-about-string-substitutions\">教程</a></p>\n<h2 id=\"Concatenation-连接\"><a href=\"#Concatenation-连接\" class=\"headerlink\" title=\"Concatenation 连接\"></a>Concatenation 连接</h2><p>首先即是各个编程语言均支持的语法糖:<code>+</code> 作为字符串拼接。</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$name</span> = Xiaoming</span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"string\">"Hello, "</span> + <span class=\"variable\">$name</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Variable-substitutions-变量替换\"><a href=\"#Variable-substitutions-变量替换\" class=\"headerlink\" title=\"Variable substitutions 变量替换\"></a>Variable substitutions 变量替换</h2><p>即直接使用 <code>$</code> 或 <code>$()</code> 在字符串里引用替换</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$first</span> = <span class=\"string\">"Li"</span></span><br><span class=\"line\"><span class=\"variable\">$last</span> = <span class=\"string\">"Xiaoming"</span></span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"string\">"Hello, <span class=\"variable\">$</span>{first} <span class=\"variable\">$</span>{last}"</span></span><br><span class=\"line\"><span class=\"variable\">$msg</span> = <span class=\"string\">"Hello, <span class=\"variable\">$first</span> <span class=\"variable\">$last</span>"</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Command-substitution-命令替换\"><a href=\"#Command-substitution-命令替换\" class=\"headerlink\" title=\"Command substitution 命令替换\"></a>Command substitution 命令替换</h2><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$directory</span> = <span class=\"built_in\">Get-ChildItem</span> <span class=\"literal\">-Path</span> C:\\Windows</span><br><span class=\"line\">❯ <span class=\"variable\">$message</span> = <span class=\"string\">"Time: <span class=\"variable\">$</span>(<span class=\"variable\">$directory</span>.CreationTime)"</span> <span class=\"comment\"># 这里必须使用$()取值</span></span><br><span class=\"line\">❯ <span class=\"built_in\">Write-Output</span> <span class=\"variable\">$message</span></span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Command-execution-命令执行\"><a href=\"#Command-execution-命令执行\" class=\"headerlink\" title=\"Command execution 命令执行\"></a>Command execution 命令执行</h3><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">"Date: <span class=\"variable\">$</span>(Get-Date)"</span> <span class=\"comment\"># 此处时间的默认格式和 locale 的设置有关</span></span><br><span class=\"line\">Date: <span class=\"number\">09</span>/<span class=\"number\">28</span>/<span class=\"number\">2024</span> <span class=\"number\">00</span>:<span class=\"number\">00</span>:<span class=\"number\">00</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Format-string-格式化字符串\"><a href=\"#Format-string-格式化字符串\" class=\"headerlink\" title=\"Format string 格式化字符串\"></a>Format string 格式化字符串</h2><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"comment\"># .NET 字符串格式化</span></span><br><span class=\"line\">❯ [<span class=\"built_in\">string</span>]::Format(<span class=\"string\">'Hello, {0} {1}'</span>, <span class=\"variable\">$first</span>, <span class=\"variable\">$last</span>)</span><br><span class=\"line\"><span class=\"comment\"># 或者是 powershell 中的</span></span><br><span class=\"line\">❯ <span class=\"string\">'Hello, {0} {1}'</span> <span class=\"operator\">-f</span> <span class=\"variable\">$first</span>, <span class=\"variable\">$last</span></span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Format-values-as-arrays-将值格式化为数组\"><a href=\"#Format-values-as-arrays-将值格式化为数组\" class=\"headerlink\" title=\"Format values as arrays 将值格式化为数组\"></a>Format values as arrays 将值格式化为数组</h3><figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"comment\"># 即一种解包的方式</span></span><br><span class=\"line\"><span class=\"variable\">$values</span> = <span class=\"selector-tag\">@</span>(</span><br><span class=\"line\"> <span class=\"string\">"Xiaoming"</span>,</span><br><span class=\"line\"> <span class=\"string\">"Lili"</span></span><br><span class=\"line\">)</span><br><span class=\"line\"><span class=\"string\">'Hello, {0} {1}.'</span> <span class=\"operator\">-f</span> <span class=\"variable\">$values</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"高级格式设置\"><a href=\"#高级格式设置\" class=\"headerlink\" title=\"高级格式设置\"></a>高级格式设置</h2><p>这是来自于 .NET 的方法,也就是 <a href=\"https://learn.microsoft.com/zh-cn/dotnet/api/system.string.format\"><code>String.Format</code></a> 的方法<br>此处参考博客 <a href=\"https://www.cnblogs.com/zqj-blog/p/10044181.html\">一个有故事的devops: powershell字符串操作</a> </p>\n<p>对时间的字符串格式化</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">'{0:yyyy-MM-dd}'</span> <span class=\"operator\">-f</span> (<span class=\"built_in\">Get-Date</span>)</span><br><span class=\"line\"><span class=\"number\">2024</span><span class=\"literal\">-09-28</span></span><br></pre></td></tr></table></figure>\n\n<ol>\n<li>固定列宽</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$a</span> = <span class=\"string\">"name"</span></span><br><span class=\"line\"><span class=\"variable\">$b</span> = <span class=\"string\">"age"</span></span><br><span class=\"line\"><span class=\"variable\">$c</span> = <span class=\"string\">"sex"</span></span><br><span class=\"line\"><span class=\"comment\"># 分别指定 0,1,2,对应 $a, $b, $c,然后再指定宽度15左对齐</span></span><br><span class=\"line\"><span class=\"variable\">$d</span> = <span class=\"string\">"{0,-15}{1,-15}{2,-15}"</span> <span class=\"operator\">-f</span> <span class=\"variable\">$a</span>, <span class=\"variable\">$b</span>, <span class=\"variable\">$c</span> </span><br><span class=\"line\"><span class=\"built_in\">Write-Output</span> <span class=\"variable\">$d</span> <span class=\"comment\"># 输出 $d</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"2\">\n<li>将数字转换成百分数</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"string\">"{0:p}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.14159</span> <span class=\"comment\"># 默认转换是两位</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"string\">"{0:p5}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.1415926</span> <span class=\"comment\"># 也可以指定位数</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"3\">\n<li>保留 n 位小数</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"string\">"{0:n0}"</span> <span class=\"operator\">-f</span> <span class=\"number\">3.14</span> <span class=\"comment\"># 3</span></span><br><span class=\"line\"><span class=\"string\">"{0:n3}"</span> - f <span class=\"number\">3.14159</span> <span class=\"comment\"># 3.141</span></span><br></pre></td></tr></table></figure>\n\n<ol start=\"4\">\n<li>字符串替换</li>\n</ol>\n<p>常用的格式化的数值表格</p>\n<table>\n<thead>\n<tr>\n<th align=\"center\">字符</th>\n<th align=\"left\">示例</th>\n<th align=\"left\">说明</th>\n</tr>\n</thead>\n<tbody><tr>\n<td align=\"center\"><code>e</code></td>\n<td align=\"left\"><code>>"{0:e2}" -f 2000</code> <br><code>2.00e+003</code></td>\n<td align=\"left\"><strong>e</strong>xponent 科学计数法</td>\n</tr>\n<tr>\n<td align=\"center\"><code>d</code></td>\n<td align=\"left\"><code>>"{0:d}" -f 2000</code> <br><code>2000</code></td>\n<td align=\"left\"><strong>d</strong>ecimal 整数</td>\n</tr>\n<tr>\n<td align=\"center\"><code>f</code></td>\n<td align=\"left\"><code>>"{0:f2}" -f 2000</code></td>\n<td align=\"left\"><strong>f</strong>ixed point 小数点后指定位数</td>\n</tr>\n<tr>\n<td align=\"center\"><code>g</code></td>\n<td align=\"left\"><code>>"{0:g}" -f 2000</code> <br><code>2000</code></td>\n<td align=\"left\"><strong>g</strong>eneral 小数点后最多一位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>n</code></td>\n<td align=\"left\"><code>>"{0:n}" -f 2000</code> <br><code>2,000</code></td>\n<td align=\"left\"><strong>n</strong>umber 默认小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>c</code></td>\n<td align=\"left\"><code>>"{0:c}" -f 2000</code> <br><code>¥ 2,000.00</code></td>\n<td align=\"left\"><strong>c</strong>urrency 货币格式,小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>p</code></td>\n<td align=\"left\"><code>>"{0:p}" -f 0.98765</code> <br><code>98.76%</code></td>\n<td align=\"left\"><strong>p</strong>ercent 百分数,小数点后两位,整数则不显示小数点</td>\n</tr>\n<tr>\n<td align=\"center\"><code>x</code></td>\n<td align=\"left\"><code>>"{0:x}" -f 2000</code> <br><code>7d0</code></td>\n<td align=\"left\">he<strong>x</strong>adecimal 十六进制</td>\n</tr>\n</tbody></table>\n<ol start=\"5\">\n<li>字符串包含</li>\n</ol>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br><span class=\"line\">8</span><br><span class=\"line\">9</span><br><span class=\"line\">10</span><br><span class=\"line\">11</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span>.Contains(<span class=\"string\">"have"</span>)</span><br><span class=\"line\">True</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span>.Contains(<span class=\"string\">"i"</span>)</span><br><span class=\"line\">False</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span> <span class=\"operator\">-match</span> <span class=\"string\">"i"</span></span><br><span class=\"line\">True</span><br><span class=\"line\"></span><br><span class=\"line\">❯ <span class=\"string\">"I have a dream"</span> <span class=\"operator\">-cmatch</span> <span class=\"string\">"i"</span></span><br><span class=\"line\">False</span><br></pre></td></tr></table></figure>\n\n<p><code>字符串.Contains</code>、<code>-cmath</code> 区分大小写,而 <code>-match</code> 忽略大小写</p>\n<h3 id=\"联接字符串\"><a href=\"#联接字符串\" class=\"headerlink\" title=\"联接字符串\"></a>联接字符串</h3><p>使用 <code>-join</code> 连接字符串</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$server</span> = <span class=\"selector-tag\">@</span>(</span><br><span class=\"line\">∙ <span class=\"string\">'server1'</span>,</span><br><span class=\"line\">∙ <span class=\"string\">'server2'</span>,</span><br><span class=\"line\">∙ <span class=\"string\">'server3'</span></span><br><span class=\"line\">∙ )</span><br><span class=\"line\">❯ <span class=\"variable\">$server</span> <span class=\"operator\">-join</span> <span class=\"string\">','</span></span><br><span class=\"line\">server1,server2,server3</span><br></pre></td></tr></table></figure>\n\n<h3 id=\"Join-Path\"><a href=\"#Join-Path\" class=\"headerlink\" title=\"Join-Path\"></a><code>Join-Path</code></h3><p><code>Join-Path</code> 是 PowerShell 中的一个内置函数,用于将多个路径元素组合成一个完整的路径。`</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br></pre></td><td class=\"code\"><pre><span class=\"line\">❯ <span class=\"variable\">$folder</span> = <span class=\"string\">"Temp"</span></span><br><span class=\"line\">❯ <span class=\"built_in\">Join-Path</span> <span class=\"literal\">-Path</span> <span class=\"string\">'C:\\Windows'</span> <span class=\"literal\">-ChildPath</span> <span class=\"variable\">$folder</span></span><br><span class=\"line\">C:\\Windows\\Temp</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"StringBuilder\"><a href=\"#StringBuilder\" class=\"headerlink\" title=\"StringBuilder\"></a>StringBuilder</h2><p><code>StringBuilder</code> 是 .NET Framework 中的一个类,用于在运行时动态地创建和修改字符串。它提供了一种更高效的方式来拼接字符串,因为它不会在每次拼接时都创建一个新的字符串对象,而是将拼接后的字符串追加到<code>StringBuilder</code>对象中。</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br><span class=\"line\">3</span><br><span class=\"line\">4</span><br><span class=\"line\">5</span><br><span class=\"line\">6</span><br><span class=\"line\">7</span><br><span class=\"line\">8</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"variable\">$stringBuilder</span> = <span class=\"built_in\">New-Object</span> <span class=\"literal\">-TypeName</span> <span class=\"string\">"System.Text.StringBuilder"</span></span><br><span class=\"line\"></span><br><span class=\"line\">[<span class=\"built_in\">void</span>]<span class=\"variable\">$stringBuilder</span>.Append(<span class=\"string\">"Numbers: "</span>)</span><br><span class=\"line\"><span class=\"keyword\">foreach</span>(<span class=\"variable\">$number</span> <span class=\"keyword\">in</span> <span class=\"number\">1</span>..<span class=\"number\">10000</span>)</span><br><span class=\"line\">{</span><br><span class=\"line\"> [<span class=\"built_in\">void</span>]<span class=\"variable\">$stringBuilder</span>.Append(<span class=\"string\">" <span class=\"variable\">$number</span>"</span>)</span><br><span class=\"line\">}</span><br><span class=\"line\"><span class=\"variable\">$message</span> = <span class=\"variable\">$stringBuilder</span>.ToString()</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"带大括号的描述符\"><a href=\"#带大括号的描述符\" class=\"headerlink\" title=\"带大括号的描述符\"></a>带大括号的描述符</h2><p><code>${<var names>}</code> 这样的调用方式能更好的明确边界</p>\n<figure class=\"highlight powershell\"><table><tr><td class=\"gutter\"><pre><span class=\"line\">1</span><br><span class=\"line\">2</span><br></pre></td><td class=\"code\"><pre><span class=\"line\"><span class=\"built_in\">Write-Host</span> <span class=\"string\">"<span class=\"variable\">$test</span> <span class=\"variable\">$tester</span> <span class=\"variable\">$</span>(<span class=\"variable\">$test</span>)ter"</span></span><br><span class=\"line\"><span class=\"built_in\">Write-Host</span> <span class=\"string\">"{0} {1} {0}ter"</span> <span class=\"operator\">-f</span> <span class=\"variable\">$test</span>, <span class=\"variable\">$tester</span></span><br></pre></td></tr></table></figure>\n"}],"PostAsset":[],"PostCategory":[],"PostTag":[],"Tag":[]}}