0

我正在使用批处理文件来转换两个具有相同名称但扩展名不同的文件,即

test file.dat
test file.txt

我想将这些文件与分隔符结合起来(我用过~)

我希望将新文件命名为新扩展名但保留原始名称,我已经解决了这个问题,但是我使用的大多数文件中都有空格,我可以让它与空格一起使用

我到目前为止的代码:

type *.dat > new.andy
echo. >> new.andy
echo ~ >> new.andy
type *.txt >> new.andy
for /F %%a in ('dir /b *.dat') do set FileName=%%~na
REN new.andy %FileName%.andy

到目前为止,我已经得到了脚本,除了用它的全名重命名文件,包括空格,到现在它只到第一个空格,即 test.andy

4

2 回答 2

0

测试以下

type "*.dat" > new.andy
echo. >> new.andy
echo ~ >> new.andy
type "*.txt" >> new.andy
for /F %%a in ('dir /b *.dat') do set FileName=%%~na
REN new.andy %FileName%.andy
于 2013-03-13T22:41:16.157 回答
0

你可以从这样的事情开始:

@echo off

for /f "tokens=*" %%a IN ('dir /b *.dat') do (
  type "%%a" >  "%%~na.andy"
  echo.      >> "%%~na.andy"
  echo ~     >> "%%~na.andy"
)

for /f "tokens=*" %%a IN ('dir /b *.txt') do (
  type "%%a" >> "%%~na.andy"
)

这会将所有*.dat文件与所有*.txt文件合并,合并文件的名称将为.andy.

根据您的目标以及文件的组织方式,可以对此进行改进。

于 2013-03-13T23:04:44.907 回答