2

我有很多文件需要加入。现有文件命名结构为 20130514ABCD.txt,其中文件命名约定为年、月、日、市。我想将具有相同最后四个字符(即同一个城市)的文件合并为一个。

我只能将城市移动到为每个城市创建的文件夹中。这不是我想要的。。

@echo off

pushd pathname
for /f %%F in ('dir/b/a-d *.txt') do call :sub1 %%F
goto :eof

:sub1
set name=%1
md %name:~9,12%
move %* %name:~9,12%

我需要的是等效于 的脚本C:\>copy *CITY.TXT to CITY.txt,其中 CITY 名称是一个变量。

4

1 回答 1

0

已编辑:这适用于您所说的文件。

@echo off
pushd "pathname"
for /f "delims=" %%F in ('dir /b /a-d *.txt') do call :sub1 "%%F"
popd
pause
goto :eof

:sub1
set "name=%~1"
set "cityname=%name:~8,-4%"
if exist "%cityname%\" goto :EOF
echo processing "%cityname%"
md "%cityname%" 2>nul
copy /b "????????%cityname%.txt" "%cityname%\%cityname%.txt" >nul
于 2013-05-15T03:08:25.150 回答