1

UNIXボックスにファイルを配置するWindowsでbatch/dosスクリプトを作成する必要があります。しかし、パスとファイル名は、Windowsでそれぞれ毎年と毎月変更されています。

パスC:/ 2009MICSにあるWindowsのディレクトリで、1年間のファイル(12ファイル)を保持するとします。私のバッチは毎月実行され、それぞれの月のファイルのみを選択する必要があります。たとえば、私のバッチが2009年2月に実行されている場合。2009MICSフォルダから2月のファイルを選択して転送する必要があります。

4

3 に答える 3

0

あなたが求めていることを解釈するには2つの異なる方法があります..

日付は、スクリプトを実行した日によって決定されるので、実際にはシステム日付を使用していますか、それともコピーするファイルのファイル日付によって決定されますか?

フィルは良い点を持っていますが、デートプロセスを現在の日付にロックすると、特定の日付に sctipt をアクティブ化できず、後でそれを実行しようとすると、3 月 1 日のようにジンクスが発生します..

ファイル部分については、次のようにします。

@echo off
setlocal ENABLEDELAYEDEXPANSION
pushd C:\2009MICS
for /F "delims=" %%f in ('dir /b /a-d') do (
    for /f "tokens=2 delims=- " %%t in ("%%~tf") do set TimeStamp=%%t
    if not exist !TimeStamp!\ mkdir !TimeStamp!\
    copy %%f !TimeStamp!\ >nul
)
exit /b

質問が正しかったことを願っています。それ以外の場合は、ここから始めます:)

于 2009-08-20T12:56:42.403 に答える