无忧启动论坛

标题: 批处理中执行powershell或vbs脚本 [打印本页]

作者: hlowld    时间: 2025-2-12 14:33
标题: 批处理中执行powershell或vbs脚本
本帖最后由 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()"))


作者: cutebe    时间: 2025-2-12 14:50
感谢分享思路
作者: yzydys    时间: 2025-2-12 15:42
谢谢分享,试一下
作者: 小灰兔    时间: 2025-2-12 15:53
感谢分享
作者: alsar    时间: 2025-2-12 16:36

感谢楼主的分享
作者: fjun67    时间: 2025-2-12 16:43
感谢分享.
作者: it323    时间: 2025-2-12 17:36
感谢分享!
作者: yc2428    时间: 2025-2-12 19:02
谢谢分享
作者: 绿光科技    时间: 7 天前

感谢分享思路
作者: KIM3298    时间: 7 天前
谢谢分享
作者: wang1126    时间: 7 天前
谢谢楼主分享
作者: 忧心的启    时间: 7 天前
学习学习,感谢分享。有机会实践实践
作者: yzszh64    时间: 7 天前
学习了,谢谢楼主。
作者: zyy    时间: 7 天前
谢谢分享,学习一下
作者: AcidBurn    时间: 3 天前
谢谢楼主的分享!
作者: 2012ccxbox    时间: 前天 10:10
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

这几句该如何修改成批处理?谢谢




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3