2

結合する必要があるファイルがたくさんあります。既存のファイル命名構造は 20130514ABCD.txt で、ファイル命名規則は年、月、日、都市です。最後の 4 文字が同じ (つまり、都市が同じ) ファイルを 1 つにマージしたいと考えています。

都市ごとに作成されたフォルダーに都市を移動することしかできません。これは私が望んでいない..

@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 name が変数である に相当するスクリプトです。

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 に答える