将批处理文件中的变量更改为文本文件中的行

时间:2018-01-06 19:52:07

标签: batch-file

我编写了一个批处理文件,可以创建父文件夹和子文件夹,就像我想要的那样。但是,我有550个父文件夹,所以每次更改directoryNAME变量效率不高。

相反,我创建了一个文本文件,其中列出了测试名称,每行一个。文本文件与批处理文件位于同一文件夹中,并包含:

Test1
Test2
Test3

我希望循环使用以下代码,每次将listNAME变量“Test1”替换为列表中下一个产品的字符串,直到没有更多条目为止。

例如,在一个完美的世界中,此代码将运行创建父文件夹“Test1”,然后它将再次运行创建父文件夹“Test2”,依此类推。这些产品名称位于文本文件中与批处理文件位于同一文件夹中的各行上。

SET directoryNAME="Test1"
SET filesNOTES="Files\Notes"
SET rootPATH="G:\My Drive\Company\Projects\Project1\Project1-1\Project1-1-1\Workflow\Generic Content"
mkdir %directoryNAME%
mkdir %directoryNAME%\Content
mkdir %directoryNAME%\Files\"Final Deliverables"
mkdir %directoryNAME%\Files\"Illustrator Files"
mkdir %directoryNAME%\Files\Notes
echo > %directoryNAME%\%filesNOTES%\FontInfo.txt
echo %directoryNAME%> %directoryNAME%\%filesNOTES%\FontInfo.txt
type %rootPATH%\FontInfo.txt >> %directoryNAME%\%filesNOTES%\FontInfo.txt
echo > %directoryNAME%\%filesNOTES%\"Mockup Notes".txt
echo %directoryNAME%> %directoryNAME%\%filesNOTES%\"Mockup Notes".txt
mkdir %directoryNAME%\Files\Notes
mkdir %directoryNAME%\Files\"Working PDFs"
mkdir %directoryNAME%\"Product Photos"\Finals 
mkdir %directoryNAME%\"Product Photos"\PSDs

我不知道如何做到这一点,但我已经学到了关于编写我从这个网站上学到的批处理文件的所有内容,所以我想我会先到这里来试试这个。

根据Stephan的建议,我开始使用以下代码:

for /f "delims=" %%a in (ProductList.txt) do echo %%a
SET filesNOTES="Files\Notes"

我还将所有directoryNAME变量更改为%% a,但是这会输出标题为%a而不是产品名称的父文件夹。

我确定我做错了,但任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

(这应该是评论,但需要格式化)

<ion-content padding>
    <ion-refresher></ion-refresher>

    <!-- Your other content -->

    <ion-content>
        <ion-refresher></ion-refresher>
    </ion-content>
</ion-content>

在使用代码块时了解delayed expansion