当另一个作业完成对文件的处理后,该文件将被放入目录中。 要求运行批处理脚本以检查文件是否今天可用。如果有的话,我需要执行某些批处理脚本。 (例如:具有命名模式ABC-D * .txt的文件应具有修改日期= today 的文件)
到目前为止,我发现的是:
FOR /F "tokens=1,2,3* Delims=/ " %%I in ('DATE /T') DO set TODAY=%%I-%%J-%%K
xcopy C:\BatchJobs\Odd*.* /L /D:%TODAY%
运行此命令可获得输出:
C:\BatchJobs\OddEven.txt
File cannot be copied onto itself
0 File(s)
C:\BatchJobs\OddEven.txt
,我需要在控制台中显示。但是我需要将其存储在某个文件或某个变量中,以便以后在批处理脚本中使用此路径。有人可以帮助我将此文件路径存储在变量或文件中吗?还是提出其他实现此目标的方法?
答案 0 :(得分:3)
您可以使用forfiles
来过滤文件的最后修改日期,而不考虑时间:
forfiles /P "D:\ROOT" /M "ABC-D*.txt" /D +0 /C "cmd /C echo @file"
您可以声明要执行的批处理脚本而不是echo
。
答案 1 :(得分:2)
此代码将标识今天最后写入的“ ABC-D * .txt”文件。将下面的代码放入文件{
"name": "happy-holidays",
"version": "1.0.0",
"description": "",
"engines": {
"node": "8.9.4"
},
"scripts": {
"start": "concurrently --kill-others-on-fail \"yarn run server\" \"yarn run client\"",
"server": "cd server && yarn start",
"client": "cd react-ui && yarn start"
},
"license": "UNLICENSED" ,
"cacheDirectories": [
"node_modules",
"react-ui/node_modules"
],
"dependencies": {
"@sendgrid/mail": "^6.2.1",
"axios": "^0.18.0",
"body-parser": "^1.18.2",
"bootstrap": "^4.1.1",
"concurrently": "^3.5.1",
"dotenv": "^5.0.1",
"ejs": "^2.6.1",
"express": "^4.16.3",
"mongoose": "^5.1.0",
"react": "^16.3.2",
"react-bootstrap": "^0.32.1",
"react-dom": "^16.3.2",
"react-router-dom": "^4.2.2",
"react-scripts": "1.1.4",
"semantic-ui-css": "^2.3.1",
"semantic-ui-react": "^0.80.2"
},
"repository": {
"type": "git",
"url": "https://github.com/SaraRandolph/messagez"
},
"devDependencies": {}
}
中(但请选择一个更好的名称)。我在文件上执行了doit.ps1
命令,但是您将需要做其他事情。
attrib
然后,您可以使用以下命令从cmd shell运行它:
$srcdir = 'C:\src\t\empty'
Get-ChildItem -File -Path $srcdir -Filter 'ABC-D*.txt' |
Where-Object { $_.LastWriteTime -ge [datetime]::Today } |
ForEach-Object {
# Do something to the $_ file
& attrib $_
}