Получите случайное имя папки и запишите его как% FolderName% [закрыто]

1

Я имею:

"C: \ DIR \ ПАПКА-NAME_Random-String"

и нужен скрипт, который проверит это случайное имя папки и запишет его как% FolderName%.

У меня есть много компьютеров с C: \ DIR \ Folder-Name_Random-String [например. C: \ Dir \ Photo_2015-05, C: \ Dir \ Photo_2009_11, C: \ Dir \ Photo_2001_01 и т. Д ...]. Если эта папка существует, сценарий должен получить имя папки [пример: Photo_2015-05] и установить в качестве переменной среды.

Что-то вроде этого:

"

C: \

CD DIR

реж

если есть фото *. * получить имя фото ...

SET% FolderName% = Photo_random-string

"

Пожалуйста помоги! :-)

WolF
источник
большинство не поймет тебя. Я думаю, что вы хотите взять эту строку "C:\DIR\FOLDER-NAME_Random-String" и установить переменную окружения равной Random-String, которая следует за последним _ до конца строки.
Барлоп
это может помочь частично, echo "c:\blah\folder-name_random-string" | grep -Po "(?<=_).*$" и for /f %f in ('echo asdf') do set a=%f вы / кто-то просто должны каким-то образом выяснить, как объединить два!
Барлоп

Ответы:

0

Учитывая, что в любой момент времени будет существовать только одна папка.

for /d %a in (Photo*) do (>nul 2>nul dir /a-d "%a\*.txt" && (set FOLDERNAME=%a))
sureshraju
источник
0

Я наконец решил это. Это рабочая версия:

C:
CD\
CD DIR
IF EXIST FOTO_* (CD FOTO_*) ELSE (goto END)
FOR %%I IN (.) DO SET FOLDERNAME=%%~nI%%~xI
CD\
ECHO %FOLDERNAME% Exist - Delete it !
RD /q %FOLDERNAME%
PAUSE
END
Exit

Может быть, кто-то использует это в функции;)

С уважением

WolF
источник