[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]请问批处理如何把2个带路径的变量拼接起来运行?

本帖最后由 iop890 于 2023-11-1 09:18 编辑

两个变量如下:
  1. set A="C:\Program Files (x86)\AAA.exe"
  2. set B="D:\BBB.txt"
复制代码
直接用绝对路径运行是正常的,"C:\Program Files (x86)\AAA.exe" start "D:\BBB.BBB"

但是用变量拼接后就报错,start不是内部或外部命令,也不是可运行的程序或批处理文件。
%A% start %B%

还试过set s=" start "(已经把start前后空格加上了)之后用%A%%s%%B%来运行了,也不行
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# 77七


    现在不是报错,直接开了个新的cmd窗口

TOP

本帖最后由 iop890 于 2023-10-30 16:16 编辑
对比楼主的两行代码,明显少了引号
"%A%" start "%B%"
czjt1234 发表于 2023-10-30 15:18



加了也报错,会说'""' 不是内部或外部命令,也不是可运行的程序或批处理文件。

TOP

请把完整报错信息发出来看看
77七 发表于 2023-10-30 15:15



    '""' 不是内部或外部命令,也不是可运行的程序或批处理文件。

都是这句话,不是start就是双引号

TOP

回复 7# 77七


     我用notepad2显示换行符,每行都是CRLF啊

TOP

本帖最后由 iop890 于 2023-10-30 21:17 编辑

回复 10# Batcher


    对的!其实我是想用vmware自带的命令行启动多个虚拟机镜像,start参数是它内置的,所以改不了
并且我的镜像路径还带中文字符,所以也必须加双引号,两个问题叠加起来就有点麻烦了。。。

TOP

start本身是一个批处理内部命令,它可以用来打开另外一个程序或文件。
从你顶楼的描述来看,似乎是希 ...
Batcher 发表于 2023-10-30 17:05



已上传,多谢大佬了!!

https://t.wss.ink/f/cjr5m5te3r7

TOP

回复 12# Batcher


    vmware workstation 17.0.0

TOP

本帖最后由 iop890 于 2023-10-31 11:55 编辑
回复  iop890


仔细看看失败.bat的第4、11行
77七 发表于 2023-10-30 21:53



    跳过了变量赋值的两个语句。。。。。。。我的猪脑子。。。

TOP

问题解决了,多谢楼上的几位高人

这是不是就是类似c语言的指针啊?第一次感受到了坑。。。

TOP

set vm_path="C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
set wxy2_path="D:\VMs镜像\ ...
terse 发表于 2023-10-30 23:12



    实测不写这句goto menu也行,因为必定会走到这步

TOP

返回列表