2013-06-19 1 views
1

Я пытаюсь создать командный файл, чтобы найти новейший файл в каталоге. Я использую следующие команды в пакете:Ошибка при поиске последнего файла - это каталог с использованием командного файла

call cd\ 
call d: 
call cd "D:\OMS\Outbound\" 
call for /f "tokens=* delims= " %%G in ('dir /b /od') do set newest=%%G 
call pause 

Я получаю ошибку G was unexpected at this time.

Также хотел бы ftp скачать новый файл и должен будет добавить "local:D:\OMS\Outbound\" до %%G следующим образом: newest=local:D:\OMS\Outbound\%G. Код работает нормально, когда запускается из командной строки, но командный файл не работает.

+0

сначала, удалять ** все ** заголовок 'call' в каждой строке. – Endoro

ответ

3
 
cd /d "D:\OMS\Outbound" 
for /f "delims=" %%G in ('dir /b /od') do set "newest=local:D:\OMS\Outbound\%%~G" 
echo %newest% 
pause 

и удалите другие строки.

+0

Спасибо @Endoro. Это сработало. Не могли бы вы рассказать мне, почему мои команды не дали требуемых результатов? – user2500290

+0

нет необходимости в 'call', см. Также' call /? 'В командной строке. – Endoro

+1

добавьте '/ a-d' в DIR-переключатели, чтобы остановить включение любых имен каталогов. – foxidrive

Смежные вопросы