IF EXIST ファイル名 コマンド [パラメーター]
ディレクトリの存在をチェックしたい時にはパスの最後に「\」を付ける
IF EXIST C:\TEST\ ECHO C:\TESTフォルダは存在
■特定のフォルダ下に指定のフォルダがあるかを調べる
【Windows】
set TARGET_PATH="C:\usr\command\tes t\trr"
set DIR_PATH="C:\usr\command\tes t"
IF %TARGET_PATH% GEQ %DIR_PATH% ECHO 以上の同一
【Unix】
set TARGET_PATH="C:\usr\command\tes t\trr"
set DIR_PATH="C:\usr\command\tes t"
IF %TARGET_PATH% -ge %DIR_PATH% ECHO 以上の同一
■特定フォルダーを除外して圧縮するzipコマンドの例。
【Unix】
zip -r what_ever_you_want.zip ./target_dir/ -x ./target_dir/dont_zip_dir\*
dont_zip_dirフォルダーを除外したtarget_dirまるごとを圧縮する例。
■
【Unix】
${#NAME} $NAMEの文字数(全角文字も1文字)になる。 echo ${#1}
→$1の文字数が表示される
■Winddowsコマンド解析
http://d.hatena.ne.jp/thinca/20100210/1265813598
■Unixコマンド
【Unix】
http://www.ne.jp/asahi/hishidama/home/tech/unix/command.html
■調査対象がファイルかディレクトリかを自動判別し、サイズを取得する。
【Windows】
@echo off
rem 対象の属性情報取得
set TARGET_NAME=%~a1
rem 対象がディレクトリか否かのチェック
set TARGET_DIR_FLAG=%TARGET_NAME:~0,1%
rem 対象がディレクトリであればジャンプ
if "%TARGET_DIR_FLAG%"=="d" (goto FLAG_DIR_SIZE)
rem 対象ファイルのサイズを取得
for %%A in ("%1") do set FILESIZE=%%~zA
echo 使用量 = %FILESIZE%
goto :EOF
:FLAG_DIR_SIZE
set WKF=__work.txt
dir /-c /s /a-d /w %1 | findstr "個の" > %WKF%
for /f "usebackq tokens=3" %%A in (`
find /c /v "" %WKF%
`) do set /a LC=%%A - 2
for /f "skip=%LC% tokens=1,2,3" %%A in (
%WKF%
) do call :SUB1 "%%A" "%%C"
del %WKF%
echo 使用量 = %NUM1%
echo 空き容量 = %NUM2%
echo ファイル = %NUMF1%
goto :EOF
:SUB1
set NUMF=%~1
set NUMF1=%NUMF2%
set NUMF2=%NUMF%
set NUM=%~2
set NUM1=%NUM2%
set NUM2=%NUM%
goto :EOF
0 件のコメント:
コメントを投稿