找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 63306|回复: 19

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

[复制链接]
发表于 2023-10-30 14:53:21 | 显示全部楼层 |阅读模式
本帖最后由 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%来运行了,也不行

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-10-30 15:15:06 | 显示全部楼层
请把完整报错信息发出来看看
发表于 2023-10-30 15:18:36 | 显示全部楼层
对比楼主的两行代码,明显少了引号
"%A%" start "%B%"
 楼主| 发表于 2023-10-30 15:55:25 | 显示全部楼层
回复 2# 77七


    现在不是报错,直接开了个新的cmd窗口
 楼主| 发表于 2023-10-30 15:55:53 | 显示全部楼层
本帖最后由 iop890 于 2023-10-30 16:16 编辑
对比楼主的两行代码,明显少了引号
"%A%" start "%B%"
czjt1234 发表于 2023-10-30 15:18



加了也报错,会说'""' 不是内部或外部命令,也不是可运行的程序或批处理文件。
 楼主| 发表于 2023-10-30 16:17:41 | 显示全部楼层
请把完整报错信息发出来看看
77七 发表于 2023-10-30 15:15



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

都是这句话,不是start就是双引号
发表于 2023-10-30 16:21:25 | 显示全部楼层
回复 6# iop890


   应该是批处理文件的换行符问题,你可以试试新建一个空白的文本,直接手敲命令,不要从其它地方复制。
 楼主| 发表于 2023-10-30 16:40:02 | 显示全部楼层
回复 7# 77七


     我用notepad2显示换行符,每行都是CRLF啊
发表于 2023-10-30 16:44:18 | 显示全部楼层
你该不会是在for里面set的A和B
还有start应该是内部或外部命令吧
发表于 2023-10-30 17:05:33 | 显示全部楼层
回复  77七


    现在不是报错,直接开了个新的cmd窗口
iop890 发表于 2023-10-30 15:55



start本身是一个批处理内部命令,它可以用来打开另外一个程序或文件。
从你顶楼的描述来看,似乎是希望把 start "D:\BBB.BBB" 作为参数传递给 "C:\Program Files (x86)\AAA.exe" 对吧?

建议尝试以下步骤:

请参考Q-06把脚本重命名为 test.bat(不要用start.bat或start.cmd):
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA

请参考Q-04把test.bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA

如果仍然有问题,请把你顶楼尝试成功的第一种写法,和不成功的第二种写法,这两个bat文件打包上传到网盘。
 楼主| 发表于 2023-10-30 21:15:05 | 显示全部楼层
本帖最后由 iop890 于 2023-10-30 21:17 编辑

回复 10# Batcher


    对的!其实我是想用vmware自带的命令行启动多个虚拟机镜像,start参数是它内置的,所以改不了
并且我的镜像路径还带中文字符,所以也必须加双引号,两个问题叠加起来就有点麻烦了。。。
发表于 2023-10-30 21:20:31 | 显示全部楼层
回复 11# iop890


    你安装的是 VMware Workstation 还是 VMware Player 呢?哪个版本?
 楼主| 发表于 2023-10-30 21:32:48 | 显示全部楼层
start本身是一个批处理内部命令,它可以用来打开另外一个程序或文件。
从你顶楼的描述来看,似乎是希 ...
Batcher 发表于 2023-10-30 17:05



已上传,多谢大佬了!!

https://t.wss.ink/f/cjr5m5te3r7
 楼主| 发表于 2023-10-30 21:35:55 | 显示全部楼层
回复 12# Batcher


    vmware workstation 17.0.0
发表于 2023-10-30 21:53:02 | 显示全部楼层
回复 13# iop890


仔细看看失败.bat的第4、11行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 10:37 , Processed in 0.020696 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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