无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 501|回复: 13
打印 上一主题 下一主题

[分享] 批处理中执行powershell或vbs脚本

  [复制链接]
跳转到指定楼层
1#
发表于 4 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hlowld 于 2025-2-13 11:53 编辑

有时需要在批处理中执行多行powershell或者vbs脚本,不用临时文件的示例如下:


setlocal ENABLEDELAYEDEXPANSION
::批处理中执行多行powershell脚本示例,把powershell脚本中双引号替换为单引号
set "psCmd=[System.Reflection.Assembly]::LoadWithPartialName('System.windows.forms')"
set "psCmd=!psCmd!;$saveFileDialog = New-Object Windows.Forms.saveFileDialog"
set "psCmd=!psCmd!;$saveFileDialog.Filter = 'WIM files (*.wim)|*.wim'"
set "psCmd=!psCmd!;$saveFileDialog.Title = '选择要保存的.wim文件'"
set "psCmd=!psCmd!;$saveFileDialog.ShowDialog()"
set "psCmd=!psCmd!;Write-Output $saveFileDialog.FileName"
for /f "delims=" %%I in ('powershell.exe -command "!psCmd!"') do set "filePath=%%I"


::批处理中执行多行vbscript脚本示例,把vbscript脚本中双引号替换为两个双引号
set "vbsCmd=Dim window"
set "vbsCmd=!vbsCmd!:Set objShell = CreateObject(""Shell.Application"")"
set "vbsCmd=!vbsCmd!:For Each window In objShell.Windows"
set "vbsCmd=!vbsCmd!:window.Quit"
set "vbsCmd=!vbsCmd!:Next"
mshta vbscript:(Execute("!vbsCmd!:close()"))

2#
发表于 4 天前 | 只看该作者
感谢分享思路
回复

使用道具 举报

3#
发表于 4 天前 | 只看该作者
谢谢分享,试一下
回复

使用道具 举报

4#
发表于 4 天前 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 4 天前 | 只看该作者

感谢楼主的分享
回复

使用道具 举报

6#
发表于 4 天前 | 只看该作者
感谢分享.
回复

使用道具 举报

7#
发表于 4 天前 | 只看该作者
感谢分享!
回复

使用道具 举报

8#
发表于 4 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
发表于 3 天前 | 只看该作者

感谢分享思路
回复

使用道具 举报

10#
发表于 3 天前 | 只看该作者
谢谢分享
回复

使用道具 举报

11#
发表于 3 天前 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

12#
发表于 3 天前 | 只看该作者
学习学习,感谢分享。有机会实践实践
回复

使用道具 举报

13#
发表于 3 天前 | 只看该作者
学习了,谢谢楼主。
回复

使用道具 举报

14#
发表于 3 天前 | 只看该作者
谢谢分享,学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-16 20:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表