Я искал способ управлять своими загруженными файлами из Chrome.Я хочу, чтобы мой pdf-файл сохранялся в каталоге ABC, аудиофайл должен сохраняться в каталоге XYZ и т.д. Я подумал, как сделать это через командный файл.Мой пакетный файл будет работать в фоновом режиме и автоматически распределит загруженные файлы в нужные папки в соответствии с типом файла.

Для html-файла, так как он также сохраняет каталог, который содержит много вещей, связанных с этой html-страницей.Поэтому мне нужно переместить как файл .html, так и связанный с ним каталог.

Я написал код для этого, но я столкнулся с проблемой здесь.Он перемещает файл .html, но не перемещает соответствующий каталог.В командной строке показывается 1 dir(s), но каталог фактически не перемещается.

Вот код:

    @echo off

    setlocal EnableDelayedExpansion

    for %%i in (*.html) do (
    move "%%~i" HTML
    set dirName=%%i
    set dirNameWithoutExtension=!dirName:~0,-5!
    move %dirNameWithoutExtension% HTML

    )

Пожалуйста, предложите, если есть какой-нибудь простой способ для распределения загруженных файлов в соответствии с типом файла.

2 ответа2

0

Попробуйте использовать относительные пути, не расстраивая ваше утверждение For , можете ли вы попробовать

%%~i\..\

и последующее

%%~i\..\..\..\ 

возвращаться к корню, если нужно?

0
@echo off
setlocal EnableDelayedExpansion
if not exist HTML md HTML
for %%i in (*.html) do (
    move "%%~i" HTML
    set dirName=%%i
    set dirNameWithoutExtension=!dirName:~0,-5!
    move "!dirNameWithoutExtension!" HTML
)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .