批处理程序如何接受多个文件拖入?开启了变量延迟enabledelayedexpansion之后遇到感叹号要怎么处理?...

本文介绍了一种使用批处理程序接收多个文件并将其路径作为参数传递给命令的方法。通过特定的批处理脚本技巧,即使文件名包含特殊字符如感叹号也能正确处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

批处理程序如何接受多个文件拖入?如何得到多个拖入文件的路径并一起传到要执行的命令参数中?
@echo off
setlocal enabledelayedexpansion
set str=
for %%i in (%*) do (
set str=!str! %%i
)
echo !str!
pause

批处理中开启了变量延迟enabledelayedexpansion之后遇到感叹号要怎么处理?

这段代码可以显示拖入的文件名,但是文件名中含有感叹号的话显示的时候会被舍弃,是否有高人了解这种情况要怎么处理呢?
【解决】
@echo off
 
set str=
for %%i in (%*) do (
call set str=%%str%% %%%i
)
call echo %%str%%
call start "" "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" %%str%% /usep "F:\[软件]\[办公学习]\PDF-XChange Viewer Settings.dat"
pause




转载于:https://www.cnblogs.com/guyqian/archive/2013/01/08/2851264.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值