首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文件中的驱动器字母变量

文件中的驱动器字母变量
EN

Stack Overflow用户
提问于 2016-05-19 14:44:31
回答 2查看 3K关注 0票数 1

我创建了一个包含名为AutoRun.exe的文件的ISO。我已经创建了一个PowerShell脚本来挂载并将挂载的驱动器字母保存到letter.txt

代码语言:javascript
复制
$Mounted= Mount-DiskImage -PassThru "C:\Users\Skulliam\Documents\DiskImage.iso"
$DriveLetter = ($Mounted | Get-Volume).DriveLetter
$DriveLetter | Out-File letter.txt

然后,我尝试从letter.txt访问驱动器号。例如,如果它挂载ISO以驱动F,则批处理将运行F:\Autorun.exe

代码语言:javascript
复制
for /f "Delims=" %%a in (letter.txt) do (
     set DRIVE=%%a
)
START %DRIVE%:\AutoRun.exe
pause

误差状态

窗口找不到“:\AutoRun.exe”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 15:00:39

Out-File以Unicode格式创建输出文件,您的批处理脚本无法处理该文件。将输出编码更改为Ascii

代码语言:javascript
复制
... | Out-File 'letter.txt' -Encoding Ascii

话虽如此,为什么在上面使用两种不同的脚本和不同的语言呢?您可以像这样从PowerShell运行可执行文件:

代码语言:javascript
复制
& "${DriveLetter}:\Autorun.exe"

如果需要彼此独立运行脚本,则可以在第二个PowerShell脚本中获得驱动器,如下所示:

代码语言:javascript
复制
$DriveLetter = Get-Content 'letter.txt'
& "${DriveLetter}:\Autorun.exe"
票数 0
EN

Stack Overflow用户

发布于 2016-05-19 14:52:40

你的批处理代码是正确的。带有字母C的新letter.txt文件将启动C:\AutoRun.exe

你试过这个吗?如果它有效,您的问题就在PowerShell脚本中。

我无法执行这个PowerShell脚本,因为我的系统不识别“挂载-磁盘图像”和"GetVolume“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37326687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档