@ECHO OFF
SETLOCAL
:: starting directory
SET "relroot=u:"
(
FOR /f "delims=" %%i IN ( 'dir /s /b /a-d "%relroot%\*.dtsx" ') DO (
FOR /f "delims=" %%m IN ("%%~dpi.") DO (
FOR /f "delims=" %%q IN ("%%~dpm.") DO (
ECHO "%%~nxi" "%%~nq"
)
)
)
)>"%temp%\tempfile_name"
SORT "%temp%\tempfile_name" >"%temp%\tempfile_anothername"
GOTO :EOF
これがスターターです。
ファイル"%temp%\tempfile_name"
には次の形式の行が含まれている必要があります
"file3.dtsx" "m"
ファイル"%temp%\tempfile_anothername"
には、ファイル名のアルファベット順になるようにソートされたこれらの行が含まれている必要があります。
引用符が必要かどうか、要素のシーケンスが必要かどうか、必要な出力のシーケンスが必要かどうか、または"z"
ディレクトリも必要かどうかがわからない (として利用可能%%~nm
)
コメントに続く追記 20130703-1355Z
あら!混乱が収まる!
Stackexchange の定期的な受信トレイ通知には、投稿されたコメントのごく一部が含まれており、2 つの連続したレポートを読んでいます。
... ,D:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity\Folder\File1_1.dtsx;
... D:\Data Migration\DX\AE_Deployment_SAT\20-Interfaces\Flex Att Per
しかし、これらのうちの 2 番目は、現在利用可能なコメントには表示されません。
これは、現在のコメントで報告されたファイルを作成するために使用したバッチです-ドライブ文字を編集しただけです-ナレーションEntity
ではなく、投稿されたままにしました:Entity1
@echo off
setlocal
del /s u:\*.dtsx
md "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity\Folder" 2>nul
md "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity1\Folder" 2>nul
md "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity2\Folder" 2>nul
copy nul "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity\Folder\File1_1.dtsx
copy nul "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity1\Folder\File1_2.dtsx"
copy nul "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity2\Folder\File1_3.dtsx"
copy nul "U:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity2\Folder\File1_4.dtsx"
dir/s u:\*.dtsx
結果:
u:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity\Folder\File1_1.dtsx
u:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity1\Folder\File1_2.dtsx
u:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity2\Folder\File1_3.dtsx
u:\Folder 1\SubFolder1\SubFolder2_SubFolder3\SubFolder4\Entity2\Folder\File1_4.dtsx
最初に投稿したバッチを実行して、修正を加え"%%~nm"
て行に追加しますECHO
...
SORT "%temp%\tempfile_name" >"%temp%\tempfile_anothername"
type "%temp%\tempfile_name"
echo================================
TYPE "%temp%\tempfile_anothername"
GOTO :EOF
結果は次のとおりです。
"File1_1.dtsx" "Entity" "Folder"
"File1_2.dtsx" "Entity1" "Folder"
"File1_3.dtsx" "Entity2" "Folder"
"File1_4.dtsx" "Entity2" "Folder"
===============================
"File1_1.dtsx" "Entity" "Folder"
"File1_2.dtsx" "Entity1" "Folder"
"File1_3.dtsx" "Entity2" "Folder"
"File1_4.dtsx" "Entity2" "Folder"
だから - 私のために働く。実際に何を作成したいのかわかりません。残念ながら、結果を検閲しているようです。私はあなたが提供したデータでしか作業できません... :(