
Andrey
10.08.2016
07:18:50
Ты её не написал и удивляешься поему не работает.

Zart
10.08.2016
07:18:51
но нафея...

Maksim
10.08.2016
07:18:58
я не шарю
и что, после одной неудачной попытки забьешь на это дело? возьми прочитай немного хелпа, попробуй и добейся, чтобы работало. Зато потом будет проще. к тому же циклы - основа всего и все они похожи.

Andrey
10.08.2016
07:19:56
+ под 7 винду лучше powershell скрипты писать. Батники - это ужос.

Google

Pavel
10.08.2016
07:20:54
совсем в крайнем случае можно питоном сделать батник из пачки одинаковых команд.

Zart
10.08.2016
07:21:49
павершелл - крайне паршивая замена обычному шеллу
для запуска обычных команд порой приходится жестоко извращаться через & "..."

Andrey
10.08.2016
07:22:57

Zart
10.08.2016
07:23:17
я активно и часто пользуюсь всеми тремя, есть что с чем сравнить

Maksim
10.08.2016
07:23:35
У него задача наитривиальнейшая, и системной cmd для этого хватит. Может, посоветовать еще написать батник в Scala? )

Andrey
10.08.2016
07:23:40

Zart
10.08.2016
07:24:08
для тех кто проебал решение его задачи тривиальным способом
for %a in ('*.crt') do certutil -dump %a > %~na.txt
апострофы лишние 8\

Roman
10.08.2016
07:24:52
% я понял как переменная

Google

Zart
10.08.2016
07:25:17
дока по %~... находится в for /? и в set /?

Roman
10.08.2016
07:25:32
оке

Zart
10.08.2016
07:26:04
это очень красивый и компактный способ сделать os.path.dirname/basename/splitext
а еще это решает проблемы с пробелами в именах

Roman
10.08.2016
07:29:43
чет батник сразу закрывается

Petr
10.08.2016
07:30:09
Ну там еще в конце чот надо дописать ь
Нало
Надо

Pavel
10.08.2016
07:30:27
pause

Roman
10.08.2016
07:31:56
все та же херня
http://scriptcoding.ru/2013/08/19/komandnaya-stroka-for/
прочитал чтобы понять что зарт скинул
но у все равно не работает как надо
т.е вообще не рабоает

Zart
10.08.2016
07:32:50
я скинул команду для консоли
если ты хочешь сунуть это в батник, тебе придётся удвоить знаки процента
for %%a in ( *.crt ) do certutil -dump %%a > %%~na.txt
если внутри bat/cmd
у всех шеллов ёбнутые правила квотирования

Roman
10.08.2016
07:35:09
Сейчас запустил из консоли, он просто создал пустой файл

Zart
10.08.2016
07:35:22

Google

Pavel
10.08.2016
07:35:31

Zart
10.08.2016
07:35:52

Roman
10.08.2016
07:36:01
не постоянно, но придется, через месяц

Sergey
10.08.2016
07:36:01

Zart
10.08.2016
07:36:26

Roman
10.08.2016
07:36:26

Sergey
10.08.2016
07:36:40

Zart
10.08.2016
07:36:46
так и я о том же

Sergey
10.08.2016
07:36:51
Но по сравнению с cmd...

Roman
10.08.2016
07:36:55
все, там с '' проблема была

Zart
10.08.2016
07:37:12
у кмд тяжелая история и долгая эволюция
ноги вообще от CP/M растут

Zart
10.08.2016
07:38:45

Roman
10.08.2016
07:38:51
все, заработало
Надо этот пробел в свободное время будет закрыть

Zart
10.08.2016
07:39:06
либо переходить на эскейпы вместо кавычек

Sergey
10.08.2016
07:41:10
Если не протерял одну из кавычек

Zart
10.08.2016
07:42:39
эм
$ echo "It's me"
It's me
не надо всё усложнять 8)

Google

Sergey
10.08.2016
07:43:37
Я ради примера с квотированием
Так-то понятно
Хотя если внутри есть символ доллара, то лучше одиночные

Zart
10.08.2016
07:44:27
$ echo "It\"s me"
It"s me

Sergey
10.08.2016
07:46:09

Zart
10.08.2016
07:46:14
угу...
я порой жалею что в баше нет %~
$(basename ...) на их фоне не комильфо

Admin
ERROR: S client not available

Zart
10.08.2016
07:47:58
да и ${var##...} и иже с ним тяжело идут

Sergey
10.08.2016
07:48:51
Есть shell expansions разные, если я правильно понял что желает %~

Zart
10.08.2016
07:50:42
есть %0 ... %9 такие же как $0 .. $9 в баш
а есть %~0 форма, которая квотит имя файла заново
скажем если у нас батник
python %1

Roman
10.08.2016
07:53:58
Зарт, а как задать, чтобы по дате файлы брались?

Zart
10.08.2016
07:54:09
какой дате?

Sergey
10.08.2016
07:54:14
В смысле, это аналог
python "$1"
в bash?

Andrey
10.08.2016
07:54:32
какой дате?
А ты терпеливый. Я бы в гугл послал после такого вопроса.

Zart
10.08.2016
07:54:42
аналог python $1

Sergey
10.08.2016
07:55:17
Тогда я не понял причём тут квотирование)

Google

Sergey
10.08.2016
07:56:38
Без кавычек файл с пробелами в имени развалится на несколько параметров
Ладно, это для другого чата тема


Zart
10.08.2016
07:59:03
D:\>type 1
import sys
print('this is 1')
print(sys.argv)
D:\>type "1 2 3.py"
import sys
print('this is 1-2-3')
print(sys.argv)
D:\>type demo1.bat
python %1
D:\>demo1.bat 1 2 3.py
D:\>python 1
this is 1
['1']
D:\>demo1.bat "1 2 3.py"
D:\>python "1 2 3.py"
this is 1-2-3
['1 2 3.py']
D:\>type demo2.bat
python %~1
D:\>demo2.bat 1 2 3.py
D:\>python 1
this is 1
['1']
D:\>demo2.bat "1 2 3.py"
D:\>python 1 2 3.py
this is 1
['1', '2', '3.py']
D:\>type demo3.bat
python "%~1"
D:\>demo3.bat 1 2 3.py
D:\>python "1"
this is 1
['1']
D:\>demo3.bat "1 2 3.py"
D:\>python "1 2 3.py"
this is 1-2-3
['1 2 3.py']
т.е. для тривиальных случаев %1 и "%~1" аналогичны
т.е. в случае с тильдой происходит экспаншен по факту
и у него есть ряд модификаторов: d - drive, p - path, n - name, e - extension
"%~ne1" в кмд полностью равно $(basename $1) баша
"%~dp1" == $(dirname $1)
с учетом того что в 0 у нас имя самого батника, это позволяет просто делать привязку относительно его:
@cscript.exe -nologo "%~dp0.vbs" %*


Roman
10.08.2016
08:04:05
прочитал про сорт и дир, но там не описывается как именно по дате изменения брать файлы
/O:D

Zart
10.08.2016
08:06:14
э... обычно даты в именах файлов есть и их можно обычными вайлдкардами отловить
но если ты хочешь отловить именно по дате изменения, то на кмд вероятно можно, но заебешсо

Roman
10.08.2016
08:06:56
вот

Zart
10.08.2016
08:07:15
через %~t и вложенные форы..
ну иво нахуй

Sergey
10.08.2016
08:08:41
Может и правда на Python лучше?

Zart
10.08.2016
08:09:06
для более сложных случаев скорее всего да

Roman
10.08.2016
08:09:50
%~nat
так типо должно быть
Эта группа больше не существует