Сохраняйте файл каждый день в зависимости от его имени через командный файл - PullRequest
0 голосов
/ 17 декабря 2018

Можно написать командный файл, который каждый день будет копировать файл в определенную папку?

Например, сегодня у меня есть файл с именем pinco17-12-2018, и я хочу, чтобы он автоматическипереместитесь в папку 12.

Завтра у меня будет pinco18-12-2018, и он переместится в папку 12.В следующем месяце у меня будет pinco1-1-2019, и он должен идти в папку с именем 1.

Как я могу это сделать?

1 Ответ

0 голосов
/ 17 декабря 2018
for %%a in ("%userprofile%\desktop\Files1\pinco*") do (
  for /f "tokens=2 delims=-" %%b in ("%%~na") do (
    md "%userprofile%\desktop\Files2\%%b" 2>nul
    move "%%a" "%userprofile%\desktop\Files2\%%b\"
  )
)

Перевод на простой английский язык:

  • Для всех файлов, начинающихся с pinco в указанной папке, выполните:
  • получение месяца (второй токенимя файла при ограничении -)
  • создать папку с указанным месяцем в указанной папке (не показывать ошибку, если она уже существует)
  • переместить файл в эту папку

о вашем последнем комментарии (2019-01-07):

да, это возможно.Просто продлите токенизацию имени файла (%%~nF), где %%a будет месяцем, а %%b будет годом:

@echo off
for %%F in ("%userprofile%\desktop\Files1\pinco*_*_*) do (
  for /f "tokens=2,3 delims=-" %%a in ("%%~nF") do (
    md "%userprofile%\desktop\Files2\%%b\%%a" 2>nul
    move "%%~fF" "%userprofile%\desktop\Files2\%%b\%%a\%%~nxF"
  )
)
...