标题: [代码合集] `ls -tr在批处理里怎么实现· 具体做法进入可看到代码 辛苦 [打印本页]
作者: skyhello08 时间: 2012-11-5 14:22 标题: `ls -tr在批处理里怎么实现· 具体做法进入可看到代码 辛苦
set FILE_ID_PS=""
set file_list=`ls -tr %FILE_PATH_SND%\dnap1702_*.out`
for %FILE_ID_PS% in %file_list% do(
完整的改动,高手帮下忙·
作者: skyhello08 时间: 2012-11-5 14:22
file_path_snd="/TACTICS_AS/FTM/SND/AP/LOG"
这个定义忘记写上了· · ·· · · for语句怎么实现啊· 出高手啊 · ··
作者: BAT-VBS 时间: 2012-11-5 18:56
- @echo off
- set "file_path_snd=/TACTICS_AS/FTM/SND/AP/LOG"
- for /f "delims=" %%a in ('dir /o:-d "%file_path_snd%"') do (
- echo %%a
- )
- pause
复制代码
作者: skyhello08 时间: 2012-11-6 08:10
回复 3# BAT-VBS
这条语句在下面都在调用原来 for里的FILE_ID_PS 你这种写法在下面应该怎么调用?
作者: BAT-VBS 时间: 2012-11-6 08:11
回复 4# skyhello08
%%a
作者: skyhello08 时间: 2012-11-6 08:14
回复 5# BAT-VBS
dnap1702_*.out`
哪去了啊 啥意思啊?
作者: skyhello08 时间: 2012-11-6 08:15
回复 6# skyhello08
/f "delims=" 啥意思· ~?
作者: BAT-VBS 时间: 2012-11-6 08:16
回复 6# skyhello08 - @echo off
- set "file_path_snd=C:\test"
- for /f "delims=" %%a in ('dir /o:-d "%file_path_snd%\dnap1702_*.out"') do (
- echo %%a
- )
- pause
复制代码
作者: skyhello08 时间: 2012-11-6 08:17
老师 高手··· · · 有QQ 吗
作者: skyhello08 时间: 2012-11-6 08:20
回复 8# BAT-VBS
想加你的QQ 有些问题想请教·· 可不吗?
作者: BAT-VBS 时间: 2012-11-6 08:29
回复 10# skyhello08
没有QQ,有问题就在论坛发帖吧。
作者: skyhello08 时间: 2012-11-6 08:35
回复 11# BAT-VBS
你教我的这种打法我在我的整个程序巡行 不通··
作者: skyhello08 时间: 2012-11-6 08:36
要不整个发给你 你帮我看下?
作者: skyhello08 时间: 2012-11-6 08:44
回复 12# skyhello08
ret=0
file_path_snd="/TACTICS_AS/FTM/SND/AP/LOG"
file_path_arch="/TACTICS_AS/FTM/SND/_ARCH/AP/LOG"
file_list=`ls -tr $file_path_snd/dnap1702_*.out`
file_id_ps=""
file_id_ftm=61WJG0U0
log=/appl/jp1/psoft_asmo/_log/`basename $0 .sh`.log
err_msg=""
date_time=`date +"%y"``date +"%m"``date +"%d"``date +%H``date +%M``date +%S`
err_out()
{
datetime=`date`
echo "****** バッチエラー情報 開始 ******" >> $log
echo " *DATETIME=$datetime" >> $log
echo "--------------------------------------------------" >> $log
echo " エラーメッセージ = $err_msg" >> $log
echo "--------------------------------------------------" >> $log
echo "****** バッチエラー情報 終了 ******" >> $log
echo "" >> $log
}
date=`date`
echo "$date:開始" >> $log
for file_id_ps in $file_list
do
if test ! -f $file_id_ps
then
err_msg="$file_id_psがありません"
err_out
exit 4
fi
cp -p $file_id_ps $file_path_arch/`basename $file_id_ps`-$date_time
mv $file_id_ps $file_path_snd/$file_id_ftm
utlsend -f $file_id_ftm -sync
ret=$?
if [ $ret != 0 ]
then
err_msg="$file_id_ftm"
err_out
exit 4
fi
date=`date`
echo "$date: 正常終了" >> $log
rm $file_path_snd/$file_id_ftm
sleep 60
done
exit 0
这是源文件· ·
作者: skyhello08 时间: 2012-11-6 08:45
回复 12# skyhello08
@echo on
setlocal
set ret=0
set FILE_PATH_SND=\TACTICS_AS\FTM\SND\AP\LOG
set FILE_PATH_ARCH=\TACTICS_AS\FTM\SND\_ARCH\AP\LOG
set file_list=dnap1702_*.out
set FILE_ID_PS=""
set FILE_ID_FTM=61WJG0U0
LOG=\appl\jp1\psoft_asmo\_log\%n0.log
set err_msg=""
set date_time=%date:~,4%/%date:~5,2%/%date:~8,2%_%time:~,2%:%time:~3,2%:%time:~6,2%
set date=%date%
echo "%date%:開始" >> $log
for /f "delims=" %%a in (dir /o:-d "%FILE_PATH_SND%\dnap1702_*.out") do (
echo %%a
if not exist %%a (
set err_msg="%FILE_ID_PS%がありません"
call :SUB90_ERR_OUT
set rtn_value=4
goto :SUB99_EXIT
)
copy -p %FILE_ID_PS% %FILE_PATH_ARCH%\%nx0%FILE_ID_PS%-%date_time%
move %FILE_ID_PS% %FILE_PATH_SND%\%FILE_ID_FTM%
utlsend -f %FILE_ID_FTM% -sync
SET ret=%errorlevel%
if not %ret%==0 (
set err_msg="HULFT送信エラーが発生しました[%ret%] ファイルID=%$FILE_ID_FTM%"
call :SUB90_ERR_OUT
set rtn_value=4
goto :SUB99_EXIT
)
set date=%date%
echo "%date%:正常終了" >> %log%
del %FILE_PATH_SND%\%FILE_ID_FTM%
ping /n 60 127.1>nul
goto:SUB99_EXIT
)
:SUB90_ERR_OUT
set datetime=%date% %time%
echo ****** バッチエラー情報 開始 ******>> %LOG%
echo *DATETIME=%datetime% >> %LOG%
echo -------------------------------------------------- >> %LOG%
echo エラーメッセージ =%err_msg% >> %LOG%
echo -------------------------------------------------- >> %LOG%
echo ****** バッチエラー情報 終了 ****** >> %LOG%
echo.>> %log%
exit /b
:SUB99_EXIT
endlocal &&exit /b %rtn_value%
这是我大致改动的
作者: BAT-VBS 时间: 2012-11-6 20:13
回复 15# skyhello08
把报错信息告诉我
作者: skyhello08 时间: 2012-11-7 08:02
回复 16# BAT-VBS
就是for那有问题· ·· 走不了 不执行
作者: BAT-VBS 时间: 2012-11-7 08:31
回复 17# skyhello08
我需要看到报错信息
作者: skyhello08 时间: 2012-11-8 08:29
回复 18# BAT-VBS
我用的不是国内语言操作系统,报错看不懂·· · · · ·
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |