Пакетный скрипт для перебора каталогов, начинающийся с указанной строки c - PullRequest
0 голосов
/ 03 мая 2020

В настоящее время мне нужно вручную отредактировать командный файл, чтобы вручную указать, с каким каталогом работать.

Каталоги, которые он должен сканировать, ВСЕГДА начинаются с "2020-" (по крайней мере, для этого года), и иногда их будет несколько, если я пропущу день.

(если проще, они ВСЕГДА будут в следующем формате: "0000-00-00")

Есть ли способ отредактировать это, чтобы учесть это?

Я пытался просто сделать source_directory просто "2020 *", но я знаю, что, вероятно, это не так, лол, любая помощь или указатель в правильном направлении будет удивительным.

@echo off

pushd %~dp0

SET source_directory=2020-05-03
SET target_directory=%~dp0

for /f %%a IN ('dir "%source_directory%" /b') do (
move %source_directory%\%%a %target_directory%
)

1 Ответ

0 голосов
/ 03 мая 2020

Извините, я не слишком часто использую SO, поэтому я забываю, как это нужно делать.

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

@echo off

pushd %~dp0

SET source_directory=????-??-??
SET target_directory=%~dp0

for /d %%s in (%source_directory%) do (
    for /f %%a IN ('dir "%%s" /b') do (
        move %%s\%%a %target_directory%
    )
)
...