Пакетний файл, який створить каталог і помістить файл txt всередину з конкретним іменем


1

Це те, що у мене є, але я хочу, щоб текстовий файл зайшов у каталог файлів журналу з поданням повних шляхів.

@echo off
set dirname=
:input
set /P dirname=Type directory name: %=%
if "%dirname%"=="" goto input

mkdir "%dirname%"_Archive
mkdir "%dirname%"_Errors
mkdir "%dirname%"_Inbound
mkdir "%dirname%"_Outbound
mkdir LogFiles

set text name=
@CON >> "%dirname%"_LogFile.txt

set text name=
:input

1
Чи можете ви розширити, що ви маєте на увазі під "даючи повний шлях"? @CON >> %dirname%\LogFiles\_LogFile.txtне працює для вас?
Ƭᴇcʜιᴇ007

@ techie007: Не впевнений і в тій частині питання, але сумнівна ваша пропозиція спрацює, якщо не сталося вже існуючого каталогу, названого %dirname%\LogFilesтак, як сценарій не створює.
мартіно

@martineau Хороший улов.
Ƭᴇcʜιᴇ007

1
Незважаючи на те, - несподівано для мене - команди , як , mkdir "%dirname%"_Archiveде є цитата в середині шляху , по всій видимості працювати і бути проігноровані, я думаю , що було б безпечніше і правильніше використовувати mkdir "%dirname%_Archive", mkdir "%dirname%_Errors"і т.д.
Мартіно

Це робить саме те, що я хочу зробити.
Techturnal

Відповіді:


2

Хоча я трохи не впевнений у тому, що ви запитуєте, але подумайте, можливо, вам потрібно додати рядок chdir Logfilesпрямо після того, з mkdir LogFilesчи прямо перед @CON >> "%dirname%_LogFile.txt". Це призводить до того, що файл, який створюється в поточному каталозі, робить це в Logfilesкаталозі.

Не знайте, що ви робите з set text name=командами, ні ефекту, що має дублікати :inputміток, може бути.


Дотримуючись правильної логіки, яку ви вказали, замість зміни dir, можливо, посилання на поточну папку , @CON >> .\Logfiles\_Logfile.txt? Незважаючи на те, я погоджуюся, що в цьому сценарії відбувається декілька химерних речей. ;)
Ƭᴇcʜιᴇ007

тому я створюю каталог% dirname%, який також створює текстовий файл, який слідує, мені потрібно потрапити до нещодавно створеного директора з ім'ям LogFiles. це все, що залишилося, я просто наткнувся на отримання файлу txt у dir. Дякую за вашу допомогу!
Techturnal

@Techturnal: Я розгублений. Чи вирішила моя відповідь ваша проблема?
мартіно

@Techturnal: Ви можете використати інший, set /Pщоб отримати "текстове ім'я" в змінну, а потім echo "%text_name%" >> "LogFiles\%dirname%_LogFile.txt"(або куди - незрозуміло, куди потрібно файл).
парадороїд

ТАК! це працює зараз! @CON >>. \ LogFiles \% dirname% "_ LogFile.txt
Techturnal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.