Как я получаю эквивалент dirname () в пакетном файле?

Этот код должен предоставить вам список всех ключей, которые также являются значениями.

my_test = [key for key in my_dict.keys() if key in my_dict.values()]

Вам не нужен .keys (), потому что это поведение по умолчанию, однако я хотел быть явным для этого примера.

В качестве альтернативы пример цикла for можно увидеть ниже.

for key, value in my_dict.iteritems():
    if key == value:
        print key # or do stuff
23
задан Melebius 24 October 2016 в 10:47
поделиться

2 ответа

for %%F in (%filename%) do set dirname=%%~dpF

Это установит % dirname% в качестве диска и каталога с именем файла, хранящегося в % filename% .

Осторожно с именами файлов, содержащими пробелы, хотя. Либо они должны быть установлены с окружающими кавычками:

set filename="C:\MyDir\MyFile with space.txt"

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

for %%F in ("%filename%") do set dirname=%%~dpF

Любой из методов будет работать, оба одновременно не будут : -)

25
ответ дан 29 November 2019 в 02:25
поделиться

If for whatever reason you can't use FOR (no Command Extensions etc) you might be able to get away with the ..\ hack:

set file=c:\dir\file.txt
set dir=%file%\..\
6
ответ дан 29 November 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: