0

css ファイルを IE のキャッシュ フォルダーから C のフォルダーにコピーしようとしています。多くの重複がありますが、それらをすべて保持したいので、すべての css ファイルをコピーし、カウンター/インデックス変数を追加するバッチ スクリプトを作成しました。各ファイルの先頭。問題は、変数が増加していないことです。その理由はわかりません。これは私のスクリプトです:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set /a c=0
for /f "tokens=*" %%A in ('dir /b /s /a-d "C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\*.css"') do (
set /a c=c+1
copy "%%A" "C:\Target\%c%_%%~nxA"
)
endlocal

コピーされる 30 個の css ファイルの代わりに (IE のキャッシュ フォルダーでそれらを見ることができるため、これを知っています)、約 10 個しかコピーされず、増分番号 (1-無限大) の代わりに先頭に「0_」が追加されます。

私も試してみました!c! コピー行部分の %c% の代わりに、文字通り「!c!」を追加するだけです。変数の値の代わりに。

ここで何が間違っていますか?

4

2 に答える 2

0

それほど高速ではありませんが (ファイル コピーごとに 1 つのディレクトリ)、CSS ファイルごとに独立した記数法を取得します

set source=C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5
for /f "tokens=*" %%A in ('dir /b /s /a-d "%source%\*.css"') do (
    for /f %%C in ('dir /b "c:\target\*_%%~nxA" ^| find /c "_"') do (
        copy "%%A" "c:\target\%%C_%%~nxA"
    )
)
于 2013-10-15T06:48:36.260 に答える