Пакетный скрипт для создания папки с датой и подпапками
Итак, мне удалось создать сценарий, который создает папку с датой следующего содержания:
@echo off
for /f "skip=1" %%i in ('wmic os get localdatetime') do if not defined fulldate set fulldate=%%i
set year=%fulldate:~2,2%
set month=%fulldate:~4,2%
set day=%fulldate:~6,2%
set foldername=%day%.%month%.%year%
md %foldername%
Теперь мне нужен скрипт для создания 5 подпапок каждый день. Любая помощь будет принята с благодарностью. Спасибо!
3 ответа
Что-то вроде того:
@echo off
for /f "skip=1" %%i in ('wmic os get localdatetime') do if not defined fulldate set fulldate=%%i
set year=%fulldate:~2,2%
set month=%fulldate:~4,2%
set day=%fulldate:~6,2%
set foldername=%day%.%month%.%year%
md %foldername%\Subfolder01
md %foldername%\Subfolder02
md %foldername%\Subfolder03
md %foldername%\Subfolder04
md %foldername%\Subfolder05
Для каждой папки, созданной вами с помощью этого сценария, вызовите для этого приведенный ниже сценарий.
Foreach($folder in Get-Content "C:\Scripts\data.txt")
{
New-Item "C:\Scripts\$folder" -ItemType directory
}
Здесь data.txt — это любой файл или просто пустой файл, присутствующий в родительской папке.
Я проверил это, и у меня все сработало так, как вы хотите.
Можешь попробовать:
@echo off & cd /d "%~dp0"
for /f usebackq^tokens^=1*delims^=^= %%i in (`wmic Path Win32_LocalTime Get Day^,Month^,Year /value^|find "="
`)do if /i "%%~i" == "Year" (set "_%%~i=%%~j")else if %%~j lss 10 (set "_%%~i=0%%~j")else set "_%%~i=%%~j"
for %%i in ("Folder 1","Folder 2","Folder 3","Folder 4","Folder 5")do <con: md "%_Day%.%_Month%.%_Year%\%%~i"
Или также создать все папки непосредственно в одномmkdir
командная строка
@echo off & cd /d "%~dp0"
for /f usebackq^tokens^=1*delims^=^= %%i in (`wmic Path Win32_LocalTime Get Day^,Month^,Year /value^|find "="
`)do if /i "%%~i" == "Year" (set "_%%~i=%%~j")else if %%~j lss 10 (set "_%%~i=0%%~j")else set "_%%~i=%%~j"
mkdir ".\%_Day%.%_Month%.%_Year%" && <con: pushd ".\%_Day%.%_Month%.%_Year%\"
mkdir ".\Folder 1" ".\Folder 2" ".\Folder 3" ".\Folder 4" ".\Folder 5" & popd
Дополнительные ресурсы:
Set /?
Wmic /?
For /?
For /F /?
- Перенаправление
-
|
,<
,>
,2>
, и т. д.
-
-
- и
||
&&
- и
- Манипуляции с переменными и подстроками
MkDir /?
if() else if() else ()
Условно выполнить командуУсловное выполнение- Как работает интерпретатор команд Windows [
cmd.exe
] Анализ сценариев