Как остановить запуск скрипта? - PullRequest
0 голосов
/ 16 марта 2009

У меня есть следующий скрипт,

more +1 "C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\1.txt" > "C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\2.txt"
"C:\Program Files\Microsoft Office\Office11\MSACCESS.EXE" "C:\Power Play\Daily\Daily.mdb" /x "Macro1"
DEL  "C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\*.*" /q

Первая строка, которую я делаю, так как мой текстовый файл идет с пустой строкой вверху, затем идут заголовки и данные.

Моя проблема в следующем, иногда текстовый файл содержит только пустую строку и заголовок. Поэтому после усечения я получаю только заголовки. Это вызывает у меня проблему при импорте данных в доступ.

Может ли кто-нибудь предоставить мне способ, которым я могу остановить импорт в доступ, если файл пуст

Ответы [ 2 ]

1 голос
/ 16 марта 2009

Вы можете добавить следующее в ваш скрипт, чтобы выйти, если файл содержит только пустую строку и заголовок:

@echo off
setlocal enableextensions enabledelayedexpansion

set INPUT="C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\1.txt"
set OUPUT="C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\2.txt"

:: Get the number of lines in the file.
:: Skip the first line since it is blank.
set LINES=0
for /f "skip=1 delims=" %%I in (%INPUT%) do (
    set /a LINES=LINES+1
    if !LINES! EQU 2 goto :PROCESS
)
@echo %INPUT% is empty.
endlocal
exit /b 1

:PROCESS
:: Process the file
more +1  %INPUT% > %OUTPUT%
"C:\Program Files\Microsoft Office\Office11\MSACCESS.EXE" ^
"C:\Power Play\Daily\Daily.mdb" /x "Macro1"
DEL "C:\Documents and Settings\Administrator\Desktop\Backup Data\import file\*.*" /q

endlocal
exit /b 0
0 голосов
/ 16 марта 2009

Я нашел способ проверить размер файла:

for %R in ("C:\...\import file\1.txt") do if %~zR lss 80 exit 1

Это проверяет размер файла (если он меньше 80 байт). Я не знаю, как проверить количество строк в пакетном файле Windows.

Я бы предложил прекратить использовать это уродливое изобретение (пакетные файлы) и переключиться на нормальную оболочку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...