批处理脚本和特殊字符

时间:2016-12-22 10:29:03

标签: windows batch-file cmd

我有一个批处理文件,在Windows的上下文菜单中由发送到调用。

@echo off
:while1
SET _paramini=%1
IF EXIST %_paramini% (
    IF "%2" == "" goto :fin
    SHIFT /1
)
goto :while1
:fin

除了带有字符“;”的文件外,它有效在他们的名字。

我的脚本有什么问题?

1 个答案:

答案 0 :(得分:1)

由于您还没有真正向我们提供您想要对现有文件或不存在文件做什么的指示,因此这里有一个快速示例,向您展示应该有效的方法:

@Echo Off
For %%A In (%*) Do If Exist "%%~A" Echo=[%%~A - Exists]
Timeout -1

此外,如果您要更改脚本,它可能会表现得更好:

@echo off
:while1
SET "_paramini=%~1"
IF EXIST "%_paramini%" (
    IF "%~2" == "" goto :fin
    SHIFT /1
)
goto :while1
:fin