0

私はスクリプトの世界に慣れていないので、初心者の質問をしているかもしれませんが、グーグルで検索しても正確なコードが見つかりませんでした。

私の要件は、あるフォルダーから別のフォルダーに X 個のファイルをコピーするスクリプトを生成することです。ここでは、コピーするファイルの数、ソースおよびターゲット フォルダーをスクリプトで構成できる必要があります。

Xcopy、Robocopyを試しましたが、コピーするファイルの数を制限するパラメーターが見つかりませんでした。プログラムは、Win7 または Win2008 サーバーで実行されます。

助けてください。

4

4 に答える 4

3

バッチ ファイル タグの場合:

@echo off

    setlocal enableextensions enabledelayedexpansion

    set "source=d:\temp\input"
    set "target=d:\temp\output"
    set num=10

    for /F "tokens=1,2 delims=:" %%f in ('dir /b /a-d "%source%\*"  ^| findstr /n "^" ') do (
        if %%f leq %num% (
            copy "%source%\%%g" "%target%" /y > nul 
        ) else goto endCopy
    )

:endCopy
    endlocal
于 2013-11-08T09:42:44.463 に答える
1

要件を与えた人と話し合い、正確なフィルタリングのニーズを見つけてください。

意味があるとしてもほとんど意味がありませんcopy N files from location X to location Ycopy all files that are changed after DATETIME from location X to location Y. If there are more than N files, pick only N oldest/newest.通常は、利害関係者だけが期待される行動の種類を教えてくれるなど、より賢明な基準があります。詳細な情報がなければ、スクリプトが期待される機能を提供する可能性はほとんどありません。

正確な要件がわかったら、解決策を探すためにさらにグーグルを実行します。Powershell でタスクを達成する方法を見つけるのに、それほど労力はかかりません。ヒント:gci適切なパラメーター/フィルターと共に使用し、その結果を配列に格納します。

于 2013-11-08T06:42:24.097 に答える