diablo.att |
27-04-2024 13:29 3026789 |
Запуск программы если папка не пуста
Доброго дня!
Подскажите, возможен ли запуск программы если в папке есть файлы… В общем.
Например, проверить каталоги C:\test, D:\Test2. И если здесь есть файл, запустить .exe, если папка пуста — ничего не делать/выключить компьютер.
|
DJ Mogarych |
27-04-2024 18:36 3026800 |
powershell
Код:
if (dir 'C:\test','D:\Test2') {
& 'C:\Program Files\7-Zip\7z.exe'
}
else {
& shutdown.exe /s /f /t 0 /d p:0:0
}
Если "ничего не делать", то уберите блок else {}
|
Код:
@Echo Off &Cls
Set "Box1=Z:\Soft_Arc"
Set "Box2=Z:\Soft_Out"
Set Exe1="notepad.exe"
Set Exe2=shutdown.exe /s /f /t 30
>nul 2>&1 DIR /B /A:-D "%Box1%" "%Box2%" && (%Exe1% &GoTo :Continue)
rem >nul 2>&1 DIR /B /A:-D "%Box1%" "%Box2%" && (Start " " %Exe1% &GoTo :Continue)
%Exe2% &Exit /B
:Continue
Echo Здесь можно написать продолжение скрипта после запуска 1 программы
Pause
Exit /B
Закомментирован вариант продолжения работы скрипта после запуска первой программы без ожидания ее завершения
|
diablo.att |
27-04-2024 22:46 3026817 |
Благодарю все работает:)
megaloman,
Ваш вариант тоже работает, но не так, как хотелось, или я где-то ошибся. Хотелось бы, чтобы программа открывалась, если в одной из папках есть файлы.
Немного изменил ваш код на время тестов. Сейчас tools.exe открываются, если файлы есть folder2, а если только folder1, то notepad.exe.
Код:
@Echo Off &Cls
Set "Box1=F:\folder1"
Set "Box2=F:\folder2"
Set Exe1="C:\Test\tools.exe"
Set Exe2="notepad.exe"
rem >nul 2>&1 DIR /B /A:-D "%Box1%" "%Box2%" && (%Exe1% &GoTo :Continue)
>nul 2>&1 DIR /B /A:-D "%Box1%" "%Box2%" && (Start " " %Exe1% &GoTo :Continue)
%Exe2% &Exit /B
Pause
Exit /B
А еще удалил строки:
Код:
: Continue
Echo Здесь можно написать продолжение скрипта, после запуска 1-й программы
чтобы терминал закрывался, после открытия программы
|
Код:
@Echo Off &Cls
Set "Box1=Z:\Soft_Arc"
Set "Box2=Z:\Soft_Out"
Set Exe1="notepad.exe"
Set Exe2="Calc.exe" &rem shutdown.exe /s /f /t 30
Set /A i1=0, i2=0, i12=0
>nul 2>&1 DIR /B /A:-D "%Box1%" && Set /A i1=1, i12+=1
>nul 2>&1 DIR /B /A:-D "%Box2%" && Set /A i2=1, i12+=1
rem iF %i12% Equ 2 (Start " " %Exe1% &Exit /B)
rem iF %i12% Equ 1 (Start " " %Exe1% &Exit /B)
rem iF %i12% Equ 0 (Start " " %Exe2% &Exit /B)
if %i12% GTR 0 (Start " " %Exe1%) Else (Start " " %Exe2%)
Exit /B
В зависимости от значений i1 i2 i12 можно написать запуск программ в любой комбинации наличия файлов
|
Serguei Kouzmine |
28-04-2024 16:06 3026831 |
может быть просто посчитать ?
будет даже короче
|
diablo.att |
28-04-2024 16:53 3026836 |
megaloman, По первым тестам все хорошо, благодарю!
|
Время: 05:40.
© OSzone.net 2001-