Показать полную графическую версию : [решено] bat- файл, который проверил бы время изменения файла
Добрый день. Требуется написать bat- файл, который проверил бы время изменения файла по адресу D:\verid\derat_env.dat, если последний раз он был изменен больше часа назад, то создать файл в каталоге D:\tirols\
Благодарю за помощь!!!
1. Не дублируйте (http://forum.oszone.net/post-2885873.html#post2885873) темы.
2. Создавайте темы в правильных разделах (http://forum.oszone.net/forum-102.html).
то создать файл в каталоге D:\tirols\ »
С каким именем создать файл? Что делать, если файл с таким именем уже есть?
servad, Два раза одну тему. Достаточно!!!
С каким именем создать файл? Что делать, если файл с таким именем уже есть? »
Файл нужно создать с именем test.txt, если он имеется в каталоге D:\tirols\ то перезаписать
servad, Два раза одну тему. Достаточно!!! »
Прошу прощения, просто очень нуждаюсь в помощи
megaloman
29-08-2019, 18:03
@Echo Off
cls
Set "FileIn=D:\verid\derat_env.dat"
Set "FileOut=D:\tirols\test.txt"
Set /A Min=60
If Not Exist "%FileIn%" (Echo !!! File "%FileIn%" not found &Pause &Exit /B 2)
For /f "tokens=1,2 delims=,." %%a in ('2^>nul wmic datafile where "name='%FileIn:\=\\%'" get 'Last Modified' /format:csv') Do (
If /I "%%a"=="%ComputerName%" Set "DateTimeF=%%b"
)
FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "DateTime=%%d"
Set /A Delta=%DateTime:~2,10%-%DateTimeF:~2,10%
If %Delta% GTR %Min% >"%FileOut%" Echo "%FileOut%" Created %DateTime% "%FileIn%" Last Modified %DateTimeF% Delta=%Delta%min
Exit /B
На WSH:
Option Explicit
Dim strSourceFile
Dim strDestPath
Dim strDestFile
strSourceFile = "D:\verid\derat_env.dat"
strDestPath = "D:\tirols"
strDestFile = "test.txt"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
If .FolderExists(strDestPath) Then
If DateDiff("h", .GetFile(strSourceFile).DateLastModified, Now()) > 0 Then
.CreateTextFile(.BuildPath(strDestPath, strDestFile), True).Close
End If
Else
WScript.Echo "Can't find destination folder [" & strDestPath & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 1
End If
End With
WScript.Quit 0
проверил бы время изменения файла по адресу D:\verid\derat_env.dat, если последний раз он был изменен больше часа назад, то создать файл в каталоге D:\tirols\ »
CMD + Powershell
@echo off
set "file=D:\verid\derat_env.dat"
set "dst=D:\tirols"
set "name=test.txt"
powershell -ex bypass -c "&{if ((gi -lit '%file%').lastwritetime -lt (get-date).addhours(-1)){ni -p '%dst%' -n '%name%' -i 'file' -f}}"
Выражаю огромную благодарность в решении моего вопроса YuS_2 , Iska и megaloman !!!
Спасибо Друзья, очень помогли!
YuS_2, Iska, megaloman,
Выражаю огромную благодарность в решении моего вопроса YuS_2 , Iska и megaloman !!!
Спасибо Друзья, очень помогли!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.