1

パラメータに基づいて、あるパスから別のパスにファイルをコピーできるバッチファイルを作成する必要があります。

たとえば、「datecopy -m 8 c:/ copyfrom /*.*d:/copyto/*.*」と入力すると、8か月未満の日付のc:/ copyfrom内のすべてのファイルが検索され、d:/にコピーされます。 copyto-folder。または、月の-mの代わりに、時間の場合は-h、年の場合は-yを使用できます。

もちろん、それは完全なプログラムではありませんが、私が始める必要があります。潜在的なヒントをありがとう。:)

4

3 に答える 3

1

これはあなたの質問に答えているようには見えないかもしれませんが、jscriptまたはVbScriptでこれを行うことで想像できるよりも多くの苦痛と心痛を軽減できます

最近、私はWindows Powershell、基本的にはWindowsScriptingの速度を調べています。
ただし、Windows Script Host(jscriptおよびVBScript)は、XP以降(おそらくW2k以降)のWindows上に既に存在していることを確認できます。

私のアドバイスは、Windowsのバッチコマンドを使用しないことです。

于 2010-02-05T08:06:35.393 に答える
0

古き良きUNIXツールのセットを組み立てることができると仮定して、findユーティリティを見てください。それはあなたが求めるオプションなどを持っています。

find c:/copy/from -atime 240 | xargs cp "{}" c:/copyto
于 2010-02-05T08:08:52.100 に答える
-1

これは、8か月より新しいファイルをコピーするスクリプトです。

# Script TimedCopy.txt
var str from, to, timediff, list, file
lf -n "*" $from ($ftype=="f") AND ($fmtime > addtime(diff(("-"+$timediff)))) > $list
while ($list <> "")
do
    lex "1" $list > $file
    system copy ("\""+$file+"\"") ("\""+$to+"\"")
done

lf(ファイルのリスト)コマンドは非常に柔軟です。そのヘルプページはhttp://www.biterscripting.com/helppages/lf.htmlにあります。

スクリプトを実行するには、スクリプトをコピーしてファイルC:/Scripts/TimedCopy.txtに貼り付け、biterscriptingを開始して、このコマンドを実行します。

script "C:/Scripts/TimedCopy.txt" from("c:/copyfrom") to("d:/copyto") timediff("240000000")

timediff引数の説明

「240000000」は、240日、00時間、00分、00秒を意味します

「120000」は12時間、00分、00秒を意味します

「3000」は30分00秒を意味します

「30」は30秒を意味します

(日付によると、変更されたという意味だと思います。作成されたという意味の場合は、スクリプトで$fmtimeの代わりに$fctimeを使用してください。)

お役に立てれば。

于 2010-02-15T15:28:17.750 に答える