如何从包含空格的文件中复制名称,并使用此名称创建新文件

时间:2013-03-13 22:10:19

标签: batch-file rename

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

根据您的目标和文件的组织方式,可以改进。