Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 将文件名写入第一行的批处理文件_Loops_Batch File_Directory_Dos - Fatal编程技术网

Loops 将文件名写入第一行的批处理文件

Loops 将文件名写入第一行的批处理文件,loops,batch-file,directory,dos,Loops,Batch File,Directory,Dos,您好,首先感谢您抽出时间阅读本文 我正在尝试编写一个简单的批处理文件,它将对文件夹中的每个文本文件做一件事。文本文件的格式如下: Format of txt files: ##### [delimeter "tab"] ##### ##### [delimeter "tab"] ##### ##### [delimeter "tab"] ##### .... EOF 我需要添加一行作为文件夹中每个文件的标题。标题应包含文件名的一部分。文件名将始终包含2-3个字母和3-5个数字。我需要加上x和y

您好,首先感谢您抽出时间阅读本文

我正在尝试编写一个简单的批处理文件,它将对文件夹中的每个文本文件做一件事。文本文件的格式如下:

Format of txt files:
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
....
EOF
我需要添加一行作为文件夹中每个文件的标题。标题应包含文件名的一部分。文件名将始终包含2-3个字母和3-5个数字。我需要加上x和y的数字

For instance for 
File CJF0185.PRN 

0185X [delimeter "tab"] 0185Y
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
##### [delimeter "tab"] #####
....
EOF
到目前为止,我只能够将文本添加到我知道名称的单个文件的第一行

@echo off
setlocal enableDelayedExpansion
for %%F in (*.txt) do (
  for /f "delims=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" %%n in ("%%~nF") do (
    >%%F.new echo %%nX  %%nY
    >>%%F.new type %%F
    move /y %%F.new %%F
  )
)

在批处理脚本的第一个ECHO语句中有一个tab字符是硬编码的,但是我不确定这个站点是否保留了tab字符。没有已知的方法以编程方式批量生成制表符。

我已将制表符放在“名称”选项卡下的机器范围的环境变量中,因此每当我需要批量生成制表符时,我只使用%tab%。它可能不需要编程,但非常方便。