【问题标题】:Batch Script path with space double quote does not work带有空格双引号的批处理脚本路径不起作用
【发布时间】:2014-04-01 12:53:54
【问题描述】:

我有这个用于挂载 iso 文件的脚本

@echo off

set fileiso=%~1
set Exedir="C:\Program Files\OSFMount"

cd /d %Exedir%
osfmount -a -t file -f "%fileiso%" -m #:

如果路径是这样的:(%fileiso%) D:\Download\another path with some iso inside\Iso\any.iso 不工作

请帮忙:D

【问题讨论】:

  • 你能把这个问题说得更清楚一点吗?我在阅读您的最后一行时遇到了困难:您如何尝试调用脚本? (给出命令)你得到什么输出(错误)?
  • 我在 sendto 菜单中使用这个 bat 脚本,右键单击一个 .iso 文件,然后我调用这个脚本。如果 .iso 的路径类似于 D:\Download\another path with some iso inside\Iso\any.iso 脚本不起作用
  • 1) 我使用了 quote osfmount -a -t file -f "%fileiso%" -m #: 2) 我直接从 cmd 窗口尝试了批处理脚本 我使用了 quote osfmount -a -t file -f "D:\Download\another path with some iso inside\Iso\any.iso" -m #: and working,所以它与 OSFMount 程序无关 3) 感谢提示:D 4) 我替换 cd / d "%Exedir%" 与 pushd "%Exedir%" 但脚本不能正常工作:(
  • 在使用Send To时尝试调试。在第一个 SET 命令后添加echo %fileiso%&pause
  • 当您从命令行尝试您的脚本时,您是否将文件路径放在引号中?我想知道您的第一个参数是否实际上是整个文件路径。

标签: batch-file path space filepath iso


【解决方案1】:

这对我有用:

@echo off
set "fileiso=%~1"
set Exedir="C:\Program Files\OSFMount"
pushd "%Exedir%"
osfmount -a -t file -f "%fileiso%" -m #:
popd
pause

输出:

C:\Program Files\OSFMount
Creating device...
Created device 1: G: ->
D:\Old C Drive\Users\williamsonm\Downloads\clonezilla-live-20130314-quantal-i386.iso
Notifying applications...
Done.
Press any key to continue . . .

【讨论】:

  • 好的,感谢您的帮助,问题似乎是文件 bat 的编码。
  • 是的,现在脚本正在运行,我创建了一个新文件并重写了代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
  • 2011-07-11
  • 1970-01-01
  • 2015-07-21
  • 2021-08-16
  • 1970-01-01
  • 2014-10-21
相关资源
最近更新 更多