0
ここでは、重複したファイルをフォルダに見つけるためのスクリプトです(まだ完成していません)。ファイルからバッチスクリプトを読み込みます
@echo off
dir /b > files.io
for /f "tokens=*" %%a in (files.io) do (
echo %%a
FOR %%i IN ("%%a") DO (
echo filename=%%~ni
dir /b "%%~ni*" | find /v /c ""
dir /b "%%~ni*" | find /v /c "">countfiles.io
type countfiles.io
set /p nbfic=<countfiles.io
del countfiles.io
echo %nbfic%
)
)
私は3つのディレクトリ内のファイル、およびここに出力されます:あなたが見ることができるように、次のようには見えないのに対し、両方dir /b "%%~ni*" | find /v /c ""
とtype countfiles.io
は私に、有効な結果を返す、
abc.sws
filename=abc
2
2
1
abc.txt
filename=abc
2
2
1
def.txt
filename=def
1
1
1
を作品:
dir /b "%%~ni*" | find /v /c "">countfiles.io
set /p nbfic=<countfiles.io
del countfiles.io
echo %nbfic%
しかし、私は...このコードと間違って行くことができるもの、あなたの助けを事前に感謝 が表示されません!
コードブロック内にあります。遅延拡張を使用する必要があります。 – Squashman
ありがとう、それは今完璧に動作します! 遅延拡張について聞いたことがありませんでしたが、頻繁に使用する必要がありますね。 – aName