2016-12-22 2 views
-1

У меня есть пакетный файл, который вызывается . Отправьте в контекстное меню Windows.Пакетный скрипт и специальный символ

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

Работает, за исключением файлов с символом ";" в их именах.

В чем проблема с моим скриптом?

+4

Что означает строка ';; STATEMENT'? – npocmaka

+0

Это ошибка, извините –

+0

Кроме ';', я уверен, что ваш скрипт не работает и с пробелами, ',' и '=' ... – aschipfl

ответ

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 
Смежные вопросы