当前位置: 技术问答>linux和unix
cygwin中的小问题,送分啊--大虾帮忙
来源: 互联网 发布时间:2015-09-23
本文导语: 我刚接触cygwin,因为要做一个文件转换。有个jpeg.exe可执行文件,在命令窗口输入如下命令: jpeg -d -s filename.LJPEG 就能把filename.LJPEG转换为我需要的文件格式。现在有个脚本可以进行批处理,是这样的: #!/bin/bash -f ...
我刚接触cygwin,因为要做一个文件转换。有个jpeg.exe可执行文件,在命令窗口输入如下命令:
jpeg -d -s filename.LJPEG
就能把filename.LJPEG转换为我需要的文件格式。现在有个脚本可以进行批处理,是这样的:
#!/bin/bash -f
################################################################################
# FILE: case_decompress
# Purpose: This is a simple script to call the jpeg decompression program on
# each .LJPEG file in the current directory.
# Name: Mike Heath
# Date: 1/13/2000
# Copyright: Michael Heath and Dr. Kevin Bowyer 2000
################################################################################
#-------------------------------------------------------------------------------
# Check to see if the environment variable MAMMOCODEDIR is set. If not, set it.
#-------------------------------------------------------------------------------
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
set thisdir = `pwd`
set mdirectory = `dirname $0`
cd $mdirectory
set mcodedir = `pwd`
set mammocodedir = `dirname $mcodedir`
cd $thisdir
setenv MAMMOCODEDIR $mammocodedir
endif
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
echo "The environment variable MAMMOCODEDIR is not set properly."
endif
#-------------------------------------------------------------------------------
# Look for the LJPEG file.
#-------------------------------------------------------------------------------
set thisdir = `pwd`
set ljpeg_exists = `ls -1 *.LJPEG >& /dev/null `
if ($? != 0) then
printf "nError no LJPEG (.LJPEG) files found in directory %s.nn" {$thisdir}
cd ..
exit
endif
#-------------------------------------------------------------------------------
# Decompress all of the LJPEG files in this directory.
#-------------------------------------------------------------------------------
foreach x (`ls *.LJPEG`)
{$MAMMOCODEDIR}/compression/jpeg -d -s $x
end
我看了一下,其实就最后三句有用,但是我装的cygwin不认识foreach,是不是装的版本有问题。或者那位大虾可以给几条命令就能解决我得问题,就是把当前文件夹内所有的*.LJPEG都进行批处理,因为文件很多有好几百。不胜感激!!!
jpeg -d -s filename.LJPEG
就能把filename.LJPEG转换为我需要的文件格式。现在有个脚本可以进行批处理,是这样的:
#!/bin/bash -f
################################################################################
# FILE: case_decompress
# Purpose: This is a simple script to call the jpeg decompression program on
# each .LJPEG file in the current directory.
# Name: Mike Heath
# Date: 1/13/2000
# Copyright: Michael Heath and Dr. Kevin Bowyer 2000
################################################################################
#-------------------------------------------------------------------------------
# Check to see if the environment variable MAMMOCODEDIR is set. If not, set it.
#-------------------------------------------------------------------------------
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
set thisdir = `pwd`
set mdirectory = `dirname $0`
cd $mdirectory
set mcodedir = `pwd`
set mammocodedir = `dirname $mcodedir`
cd $thisdir
setenv MAMMOCODEDIR $mammocodedir
endif
set isMAMMOCODEDIRset = `setenv | grep -c MAMMOCODEDIR`
if($isMAMMOCODEDIRset == 0) then
echo "The environment variable MAMMOCODEDIR is not set properly."
endif
#-------------------------------------------------------------------------------
# Look for the LJPEG file.
#-------------------------------------------------------------------------------
set thisdir = `pwd`
set ljpeg_exists = `ls -1 *.LJPEG >& /dev/null `
if ($? != 0) then
printf "nError no LJPEG (.LJPEG) files found in directory %s.nn" {$thisdir}
cd ..
exit
endif
#-------------------------------------------------------------------------------
# Decompress all of the LJPEG files in this directory.
#-------------------------------------------------------------------------------
foreach x (`ls *.LJPEG`)
{$MAMMOCODEDIR}/compression/jpeg -d -s $x
end
我看了一下,其实就最后三句有用,但是我装的cygwin不认识foreach,是不是装的版本有问题。或者那位大虾可以给几条命令就能解决我得问题,就是把当前文件夹内所有的*.LJPEG都进行批处理,因为文件很多有好几百。不胜感激!!!
|
这个是bash的脚本来着……
cygwin好像也不是完全使用bash吧?而且还有那个 ` ,这个东西tcsh也不支持的……
如果有find的话,可以试试看用find的-exec参数解决,具体怎么用我记不清了,给出一个大概的吧……
find ./ -name "*.LJPEG" -exec /progpath/jpeg -d -s {}
最后应该还有一个什么东西做为命令的结束来着,记不清了,楼主自己man一下find好了……
cygwin好像也不是完全使用bash吧?而且还有那个 ` ,这个东西tcsh也不支持的……
如果有find的话,可以试试看用find的-exec参数解决,具体怎么用我记不清了,给出一个大概的吧……
find ./ -name "*.LJPEG" -exec /progpath/jpeg -d -s {}
最后应该还有一个什么东西做为命令的结束来着,记不清了,楼主自己man一下find好了……
|
up