Проблемы с циклом Batch и «for»

#batch-file

#пакетный файл

Вопрос:

У меня есть следующий код

 IF NOT EXIST d:Ordner2*.csv move /-Y d:Ordner1*.csv d:Ordner2fertig.csv
 

теперь у меня возникла проблема, потому что в Ordner1 находится более одного файла. Я кое-что читал о цикле for, но сейчас я не знаю, как и где интегрировать. Я был бы очень рад, если бы кто-нибудь мог мне помочь.

Большое вам спасибо.

Комментарии:

1. У вас в исходной папке более одного файла, и (из вашего кода) вам нужен только один файл в целевой папке. Какие из файлов в исходной папке следует переместить в целевую папку?

2. В моей целевой папке должен быть только один файл. С моим кодом пакет пытается переместить все файлы из исходного файла в целевой файл. Но должен быть выбран только один.

3. only one should be picked итак, какой из них следует выбрать? Есть ли какие-либо критерии для выбора файла?

4. В имени файла в Ordner1 есть временная метка. Возможно, самый старый.

Ответ №1:

попробуйте что-то подобное (у вас не было возможности протестировать)

 if not exist d:Ordner2*.csv (
    for /f %%i in ('dir /b d:Ordner1*.csv') do ( move /-Y "d:Ordner1%%~i" d:Ordner2 amp;amp; goto done )
)
:done
 

если это ближе к тому, что вы искали, но все еще не точно, пожалуйста, объясните, чего в нем не хватает.

Комментарии:

1. Большое спасибо. Теперь все работает. Хорошего дня