Alex2 101 Ответов: 2

Как динамически создавать подпапки в исходной папке при архивировании файлов из нее с помощью пакетного файла?


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

Мне нужно создать подкаталог с родительской папкой, из которой перемещается файл.
Например:
установить источник="E:\FileStore\A2\A3"
SET DEST="E:\Dest_FileStoe\Dest_FILESTORE"

Если исходная родительская папка-FileStore, а целевая родительская папка-Dest_FileStore, а подпапка FileStore-A2, а подпапка A2-A3, и если файлы архивируются из A3, то в B подпапки A2 и A3 должны создаваться динамически, так как файлы с in A3 должны архивироваться с помощью команды batfile .

Что я уже пробовал:

@ECHO OFF
setlocal enabledelayedexpansion
set SOURCE="E:\FileStore\A2\A3"
SET DEST="E:\Dest_FileStoe\Dest_FILESTORE"

echo %SOURCE% %DEST%

IF NOT EXIST %DEST% mkdir %DEST%

My need is to create subdirectory with in parent folder from which file is being moved.
For example: 
set SOURCE="E:\FileStore\A2\A3"
SET DEST="E:\Dest_FileStoe\Dest_FILESTORE"

If source parent folder is  FileStore and Destination Parent Folder is Dest_FileStore  and subfolder of FileStore is A2 and subfolder of A2 is A3 and if files are archived from A3 then in B the subfolders A2 and A3 must be created dynamically as the  files with in A3 are to be archived using batfile command  .

Graeme_Grant

Я вижу,что вы обновили свой вопрос. Новая информация не очень ясна.

Я так понимаю, что это работает в системе на базе Windows. Так почему же вы хотите использовать пакетный файл MS-DOS, отличный от Windows? Почему бы не создать для этого небольшое приложение на вашем любимом языке? Вскоре Microsoft может отказаться от поддержки пакетных файлов MS-DOS, и тогда ваша задача больше не будет функционировать. В качестве альтернативы используйте PowerShell[^] скрипты вместо пакетных файлов, поскольку они являются заменой, предлагающей гораздо больше!

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

Обновление: не рекомендуется перепечатывать вопрос с вновь созданной учетной записью - это не поможет быстрее, только глубже вляпается в неприятности и, возможно, забанит. Мы добровольцы и свободно отдаем свое время, чтобы помочь другим, таким как вы. Не забывайте проявлять уважение при использовании этой услуги:
* Код проекта Быстрые ответы часто задаваемые вопросы[^]
* Некоторые рекомендации по размещению вопросов на форумах[^]

[no name]

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

Базовый вопрос заключается в том, можно ли создать подкаталог с исходным родительским каталогом, из которого файл архивируется в целевой родительский каталог динамически с помощью bat-файла.

2 Ответов

Рейтинг:
2

[no name]

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

Рейтинг:
1

RAMASWAMY EKAMBARAM

Эта работа:

if not exist %DEST%\nul md %DEST%


[no name]

Как указано выше, подкаталог создается, если он указан в папке назначения.
Мне нужно создать подкаталог с родительской папкой, из которой перемещается файл.
Например:
установить источник="E:\FileStore \A2\A3"
SET DEST="E:\Dest_FileStoe\Dest_FILESTORE"

Если исходная родительская папка-FileStore, а целевая родительская папка-Dest_FileStore, а подпапка FileStore-A2, а подпапка A2-A3, и если файлы архивируются из A3, то в B подпапки A2 и A3 должны создаваться динамически, а файлы с in A3 должны архивироваться с помощью команды batfile .