Board logo

标题: 怎样才能显示含特殊字符文件名 [打印本页]

作者: radem     时间: 2010-9-18 23:54    标题: 怎样才能显示含特殊字符文件名

一个含特殊字符的文件,如: &^file.txt,把它拖到一批处理的图标,如何使此P能打印出文件名?
作者: tongzj     时间: 2010-9-19 12:34
理论上是无法实现的,因为你拖动的文件名本身包含&符号,如果不用双引号括起来就会把脚本当作2个命令执行。
但是可以用命令行方式实现,脚本如下,执行方式: show.bat "c:\&^file.txt"

@echo off
echo %1
作者: radem     时间: 2010-9-22 00:53
谢谢解答,希望能解决。。。
作者: radem     时间: 2010-12-27 18:43
纠结啊。。。
作者: netbenton     时间: 2010-12-27 19:54
楼主可试试这个代码看看合不合你的要求~~
@echo off&SETLOCAL ENABLEDELAYEDEXPANSION
set "fn=%~1
echo !fn!
pause

作者: radem     时间: 2010-12-30 20:01
还是无法显示
作者: mkd     时间: 2011-1-1 21:23

set "wfiles=%cmdcmdline:"=%"
call set "wfiles=%%wfiles:*%~d0=%%"
call set "wfiles=%%wfiles:*%~d1=%%"
call set "wfiles=%%wfiles: %~d1=" "%~d1%%"
set wfiles="%~d1%wfiles%"

for %%a in (%wfiles%) do @echo %%~nxa
pause
有些文件名,如:&(.txt
整个路径必须带有空格,才能显示
如:C:\A  BC\DEF\&(.txt
    C:\ABC\D  EF\&(.txt
    C:\ABC\DEF\G  &(.txt
作者: radem     时间: 2011-1-3 15:33
仅以余最高的评分感谢楼上的答复!