-1

最新のファイルをソース パスからターゲット パスにコピーし、次のように名前を変更します。

ターゲット パス : C;\User\Client1\FinalReports

ソース パス: C:\User\Client1\Reports\ReportFolderA (Report FolderA のファイルの名前を File1.csv としてターゲット フォルダーに変更する必要があります) C:\User\Client1\Reports\ReportFolderB (Report FolderB のファイルの名前をターゲット フォルダーに変更する必要があります) C:\User\Client1\Reports\ReportFolderD (Report FolderD のファイルの名前を File4.csv としてターゲット フォルダーに変更する必要があります) C:\User\Client1\Reports\ReportFolderF (Report FolderF のファイルの名前を次のように変更する必要があります)ターゲット フォルダーは File5.csv として)

「C:\User\Client1\Reports」ソース パスは固定され、変数 ReportFolderA、ReportFolderB などが続きます。したがって、スクリプトで 1 つのソース パスのみを設定できます。

ブラウジング ポップアップ メソッドでパスを選択するスクリプトが必要です。ここで、「ソースとターゲット」の 2 つのパスのみを選択します

次回は別の場所になるため、ポップアップを参照することで、一度のスクリプトでそれらを修正することはできません。必要に応じてスクリプトを実行して、パスを慎重に実行したいと考えています。

4

2 に答える 2

3

フォルダーから最新のファイルをコピーするには、次のようなことを試してください。

@echo off

setlocal

set "src=C:\User\Client1\Reports\ReportFolderA"
set "dst=C:\User\Client1\FinalReports"

pushd "%src%"
for /f "delims=" %%f in ('dir /b /a:-d /o:-d') do (
  copy "%%~f" "%dst%\File1.csv"
  goto next
)

:next
popd

Shell.BrowseForFolderVBScript では、フォルダーを選択するメソッドを使用できます。ソース フォルダの選択例:

Set os = CreateObject("Shell.Application")
basedir = os.Namespace("C:\").Self.Path
Set fldr = os.BrowseForFolder(0, "Select source folder:", &h10&, basedir)

If fldr Is Nothing Then
  WScript.Echo "User pressed [Cancel]."
  WScript.Quit 1
End If

src = fldr.Self.Path

フォルダー内の最新のファイルを見つけてコピーするには、次のようにします。

Set fso = CreateObject("Scripting.FileSystemObject")
Set mostRecent = Nothing
For Each f In fso.GetFolder(src).Files
  If mostRecent Is Nothing Then
    Set mostRecent = f
  ElseIf f.DateLastModified > mostRecent.DateLastModified Then
    Set mostRecent = f
  End If
Next

If Not mostRecent Is Nothing Then
  mostRecent.Copy fso.BuildPath(dst, "File1.csv")
End If
于 2013-07-16T13:13:31.893 に答える
1

これを試して:

@echo オフ &setlocal
「src=C:\User\Client1\Reports\ReportFolderA」を設定します
「dst=C:\User\Client1\FinalReports」を設定します

cd /d "%src%"
for /f "delims=" %%a in ('dir /b /ad /od') do set "file=%%~a"
copy "%file%" "%dst%\File1.csv"
于 2013-07-16T13:39:28.437 に答える