CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Аватара пользователя
korenza

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение korenza »

Цитата korenza:



в папке Apache существуют подпапки тоже с файлами?
CMD/BAT - [решено] Проверка установки определенных файлов в директорию




указывайте в списке файлы с относительными путями:



Код:

Код: Выделить всё

base.gif
DIR1\base_tab.gif
DIR2\branch.gif
DIR3\tn.ico
Аватара пользователя
gora

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение gora »

От файла списка можно отказаться, если поместить список в тело скрипта:

Код:

Код: Выделить всё

@Echo Off
Set ROOT=C:\Program Files\Apache
For %%i In (
	"base.gif"
	"DIR 1\base_tab.gif"
	"DIR 2\branch.gif"
	"DIR 3\tn.ico"
) Do If Not Exist "%ROOT%\%%~i" msg * Отсутствует файл: %ROOT%\%%~i
Аватара пользователя
korenza

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение korenza »

Проблема в том, что код



Код:

Код: Выделить всё

@Echo Off 
Set ROOT=C:\Program Files\Apache 
Set INCL=apache.lst  
PushD %ROOT% For /F "UseBackQ Delims=" %%i In ("%~dp0%INCL%") Do If Not Exist %%i ( msg * Отсутствует файл: %%i)

Работает, но необходимо не менять в батнике каждый раз Set ROOT=C:\Program Files\Apache
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение amel27 »

korenza, а откуда брать значение ROOT?.. как вариант:



Код:

Код: Выделить всё

Set ROOT=%~1
Set INCL=%~2

...и подставлять путь/список в командную строку:



Код:

Код: Выделить всё

install.cmd "C:\Program Files\Apache" "apache.lst"
Аватара пользователя
korenza

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение korenza »

Добавил такую конструкцию



Код:

Код: Выделить всё

FOR %%I IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%I:\Папка1\Папка2\Папка3\Папка4\  Set ROOT= %%I:

Если прога установлена на С: ,то все путем, записывает в текстовый файл, что нет таких-то файлов. Как создаю такой же путь на диске D: выводит в текстовом файле Отсутствует файл: d:\await.gif и т.д. без конкретного пути. По идее должна быть запись что Отсутствует файл: C:\Папка1\Папка2\Папка3\Папка4\файл1 и D:\Папка1\Папка2\Папка3\Папка4\файл1
Аватара пользователя
amel27

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение amel27 »

Цитата korenza:



Отсутствует файл: d:\await.gif и т.д. без конкретного пути. По идее должна быть запись что Отсутствует файл: C:\Папка1\Папка2\Папка3\Папка4\файл1 и D:\Папка1\Папка2\Папка3\Папка4\файл1
CMD/BAT - [решено] Проверка установки определенных файлов в директорию




скрипт определяет пути относительно папки приложения, можно добавить её в итоговый путь:



Код:

Код: Выделить всё

@Echo Off 
Set ROOT=%~1
Set INCL=%~2
PushD %ROOT%
For /F "UseBackQ Delims=" %%i In ("%~dp0%INCL%") Do If Not Exist %%i (
msg * Отсутствует файл: %ROOT%\%%i)
Аватара пользователя
korenza

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение korenza »

В том-то и вопрос, что я ее, собственно так и добавил %ROOT%\%%i

Если такого файла нет диске C: , то он честно пишет отсутствует файл: весь путь.

Как только создаю точно-такой же путь на диске D: выдает такую гадость Отсутствует файл: D:\Файл1
Аватара пользователя
korenza

Re: CMD/BAT - [решено] Проверка установки определенных файлов в директорию

Сообщение korenza »

korenza, не понял, у вас файлы приложения разнесены по разным дискам?.. так без проблем:



Код:

Код: Выделить всё

install.cmd "D:\Program Files\Apache" "apache.lst"
Ответить

Вернуться в «Скриптовые языки администрирования Windows»