Windows 批处理文件以连续检查文件夹中的新CSV文件,逐个重命名这些文件,并使用当前文件启动Firefox
批处理文件应连续扫描某个文件夹以查找新的csv文件,并且每当在文件夹中放置新的csv文件时,csv文件应重命名为特定的文件名,因为firefox扩展名将读取该文件 我已经为此编写了一个批处理文件,但我认为解决方案并不完美。 这是我的尝试: 我从批处理文件InitRun.bat开始:Windows 批处理文件以连续检查文件夹中的新CSV文件,逐个重命名这些文件,并使用当前文件启动Firefox,windows,batch-file,csv,Windows,Batch File,Csv,批处理文件应连续扫描某个文件夹以查找新的csv文件,并且每当在文件夹中放置新的csv文件时,csv文件应重命名为特定的文件名,因为firefox扩展名将读取该文件 我已经为此编写了一个批处理文件,但我认为解决方案并不完美。 这是我的尝试: 我从批处理文件InitRun.bat开始: @echo off for /L %%i in (1,1,86400) do ( call FFRun1.bat timeout /T 1 ) FFRun1.bat如下所示: @echo off FOR %%
@echo off
for /L %%i in (1,1,86400) do (
call FFRun1.bat
timeout /T 1
)
FFRun1.bat如下所示:
@echo off
FOR %%f in (*Data.csv) do (
echo %%f
set FILE=%%f
call :copy
)
goto end
:copy
copy /y %FILE% merged.csv
del %FILE%
call :RunFF
:RunFF
type merged.csv
pushd "C:\Program Files (x86)\Mozilla Firefox\"
start /wait firefox.exe
popd
:end
exit /b
如果在文件夹中同时放置两个或多个csv文件,则我的解决方案只能处理一个csv,而merged.csv仅包含最后处理的csv。此外,Firefox打开多个窗口,但也仅适用于复制到merged.csv的最后一个csv
每个新的csv文件都有文件名*Data.csv,应重命名为merged.csv。对于每个新的csv文件,firefox应在新选项卡中启动并处理当前merged.csv。
csv文件不应一次全部重命名,而应逐个重命名。此外,Firefox不应一次启动多个窗口/实例
我希望你能帮助我
问候,
开普勒(Kepler)它应该按照您指示的方式,按日期顺序在目录上迭代,并将*data.csv转换为合并csv,以供以后处理(firefox使用记事本进行了更改,以便测试,根据需要进行调整)。它还将检查.csv文件是否正在使用,并等待文件可用。如果某个文件无法处理(正在使用),则在锁定的文件可用(按生成顺序处理文件)之前,将无法访问以后的文件
@echo off
setlocal enableextensions
set "folder=d:\temp"
set "files=*data.csv"
pushd "%folder%"
for /l %%a in (0 0 1) do (
if exist "%files%" (
echo files found
set "done="
for /f "tokens=*" %%d in ('dir /b /od "%files%"') do if not defined done (
call :replace "merged.csv" "%%d"
if not errorlevel 1 (
start "" /wait notepad "merged.csv"
) else (
set "done=1"
)
)
) else (
echo no files to process
)
timeout.exe /t 2 >nul
)
endlocal
exit /b
:replace target source
if exist "%~1" del /f /q "%~1" >nul 2>nul
if errorlevel 1 (
echo file "%~1" is in use
exit /b 1
)
ren "%~2" "%~1" >nul 2>nul
if errorlevel 1 (
echo file "%~2" is in use
exit /b 1
)
exit /b 0