Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Присвоить значение переменной(исключая заданные)

Ответить
Настройки темы
Любой язык - [решено] Присвоить значение переменной(исключая заданные)

Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Доброго дня вам товарищи!!
Есть такая задачка нужно присвоить переменной (допустим %S%) имя файла находящегося в папке D:\1 с расширением .exe, но при этом в этой папке есть еще два файла .exe (ghsrh.exe, ghsrh.exe) которые надо пропустить, их имена %s% не надо присваивать.....
Помогите плиз!!!!!!!!!!!!!!!!!!!!!!!!

Отправлено: 14:11, 11-12-2011

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


zion87, как поступать, когда в папке «D:\1» несколько файлов *.exe, помимо «ghsrh.exe» и «ghsrh.exe»?

Отправлено: 15:37, 11-12-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


нет, там может быть только один кроме этих двух

ghsrh.exe, ghszm.exe - имена этих перепутал

Отправлено: 16:32, 11-12-2011 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


zion87, попробуйте так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sPath=d:\1

if exist "%sPath%\." (
	for %%i in ("%sPath%\*.exe") do if "%%~nxi" neq "ghsrh.exe" if "%%~nxi" neq "ghszm.exe" if not defined sFileName set sFileName=%%~nxi
	
	if defined sFileName (
		echo [!sFileName!]
	) else (
		echo Not found file other [ghsrh.exe], [ghszm.exe].
	)
) else (
	echo Path [%sPath%] not found.
)

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 11-12-2011 | #4


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


так выводит на экран exe но надо чтобы set s=этот.exe еще после этого
@echo off
color 09

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
твоя часть кода
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:start
echo :%S% это фаил? (Y/N)
set /p X=
If "%X%"=="y" goto next
If "%X%"=="n" goto nex
If "%X%"=="Y" goto next
If "%X%"=="N" goto nex
goto start
:nex
echo :Введите имя с расширением
ты
ры
пы
:next
ты
ры
пы
ры
exit

вот так возможно замутить???????

Отправлено: 18:39, 11-12-2011 | #5


Старожил


Сообщения: 352
Благодарности: 119

Профиль | Отправить PM | Цитировать


Цитата zion87:
надо чтобы set s »
ну замени sFileName на S


вариант с findstr
*можно использовать текстовый файл со списком исключений и регэкспы
Код: Выделить весь код
@echo off
setlocal

set sPath=d:\1

set "S="
for /f "delims=" %%i in ('dir /b "%sPath%\*.exe" ^|findstr /bev /c:ghsrh.exe /c:ghszm.exe') do set "S=%%i"
echo [%S%]

Цитата:
If "%X%"=="y" goto next
If "%X%"=="Y" goto next
сокращается до

If /i "%X%"=="Y" goto next


Последний раз редактировалось kiripanda, 11-12-2011 в 19:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:52, 11-12-2011 | #6


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Товарищи kiripanda, Iska спасибо огромное, все ТЫРЫПЫРИТ!!!! Ну вы и красавчиКИ )))))))

Отправлено: 20:29, 11-12-2011 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Присвоить значение переменной(исключая заданные)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] У переменной System в реестре пустое значение. SANIOK_AV Microsoft Windows 2000/XP 2 31-01-2010 12:50
[решено] Возможность изменить значение переменной без перезапуска скрипта sashadeg AutoIt 3 13-04-2009 19:14
VBA - Как присвоить переменной содержимое Range на VBA for WORD Selena57 Программирование и базы данных 1 25-03-2009 00:52
Разное - [решено] Как присвоить переменной путь к текущей директории? njg Microsoft Windows 2000/XP 1 18-01-2009 21:22
Как присвоить одно значение сразу нескольким объектам? LedWorm Программирование и базы данных 2 10-02-2004 18:03




 
Переход