Войти

Показать полную графическую версию : [решено] Как передать имя входящего файла содержащий пробел?


s-urbanas
15-03-2018, 15:28
Дан скрипт, который шифрует файлы с помощью утилиты командной строки zpki1utl. Проблема в том, что если на вход положить файл с именем содержащий пробел (например abc cba.txt), то скрипт его не понимает и соответственно не обрабатывает. То есть скрипт работает только с файлами, которые не содержат пробелы в имени. Как отредактировать команду, чтобы скрипт обрабатывал еще и файлы с пробелами?


@echo off
rem set targetDir=%1
rem if [%targetDir%] == [] (
rem @echo no parameters specified! please, run the script as following:
rem @echo.
rem @echo 1.bat targetDirectory
rem @echo.
rem @echo where:
rem @echo targetDirectory - directory containing files to be processed
rem exit(1)
rem )
set sourceDir=C:\TEST\IN
set targetDir=C:\TEST\OUT
for %%a IN (%sourceDir%\*.*) do (
@echo on
C:\TEST\zpki1utl -encrypt -in %%a -out %targetDir%\%%~nxa.p7e -recsubj "cn=m00225"
@echo off
)

s-urbanas
15-03-2018, 16:03
Отвечу сам. Поставил кавычки:

C:\TEST\zpki1utl -encrypt -in "%%a" -out "%targetDir%\%%~nxa.p7e" -recsubj "cn=m00225"

Опиум
15-03-2018, 19:23
Поставил кавычки: »
перестал любить Майкрософт после того как он разрешил пробел в имени файлов и папок




© OSzone.net 2001-2012