fix(promotion-import): 实例(一)(二)多备选源路径;目录内唯一 mov/jpg 自动匹配
Made-with: Cursor
This commit is contained in:
@@ -6,26 +6,40 @@ $Src = Join-Path $Root "web\promotion\视频发布"
|
||||
$Dst = Join-Path $Root "web\promotion\social"
|
||||
New-Item -ItemType Directory -Force -Path $Dst | Out-Null
|
||||
|
||||
function Copy-IfExists($fromRel, $toName) {
|
||||
$from = Join-Path $Src $fromRel
|
||||
function Copy-First($toName, [string[]]$fromRels) {
|
||||
$to = Join-Path $Dst $toName
|
||||
if (Test-Path -LiteralPath $from) {
|
||||
Copy-Item -LiteralPath $from -Destination $to -Force
|
||||
Write-Host "OK $toName"
|
||||
} else {
|
||||
Write-Warning "SKIP (缺失): $from"
|
||||
foreach ($rel in $fromRels) {
|
||||
$from = Join-Path $Src $rel
|
||||
if (Test-Path -LiteralPath $from) {
|
||||
Copy-Item -LiteralPath $from -Destination $to -Force
|
||||
Write-Host "OK $toName <= $rel"
|
||||
return
|
||||
}
|
||||
}
|
||||
Write-Warning "SKIP (均未找到): -> $toName"
|
||||
}
|
||||
|
||||
Copy-IfExists "宇恒一号操作计算软件实例(一)\宣传片-封面.jpg" "video-calc-demo-1-cover.jpg"
|
||||
Copy-IfExists "宇恒一号操作计算软件实例(一)\宣传片.mov" "video-calc-demo-1.mov"
|
||||
Copy-IfExists "宇恒一号操作计算软件实例(二)\宇恒一号操作计算软件实例(二)-封面.jpg" "video-calc-demo-2-cover.jpg"
|
||||
Copy-IfExists "宇恒一号操作计算软件实例(二)\宇恒一号操作计算软件实例(二).mov" "video-calc-demo-2.mov"
|
||||
Copy-IfExists "宇恒一号AIWord简介\宇恒一号AIWord简介-封面.jpg" "video-aiword-cover.jpg"
|
||||
Copy-IfExists "宇恒一号AIWord简介\宇恒一号AIWord简介.mov" "video-aiword.mov"
|
||||
Copy-IfExists "宇恒一号语音办公实例\宇恒一号语音办公实例-封面.jpg" "video-voice-office-cover.jpg"
|
||||
Copy-IfExists "宇恒一号语音办公实例\宇恒一号语音办公实例.mov" "video-voice-office.mov"
|
||||
Copy-IfExists "宇恒一号,AI 全自动办发票\宇恒一号,AI 全自动办发票-封面.jpg" "video-invoice-ai-cover.jpg"
|
||||
Copy-IfExists "宇恒一号,AI 全自动办发票\宇恒一号,AI 全自动办发票.mov" "video-invoice-ai.mov"
|
||||
Copy-First "video-calc-demo-1-cover.jpg" @(
|
||||
"宇恒一号操作计算软件实例(一)\宣传片-封面.jpg",
|
||||
"宇恒一号操作计算软件实例(一)\宇恒一号操作计算软件实例(一)-封面.jpg"
|
||||
)
|
||||
Copy-First "video-calc-demo-1.mov" @(
|
||||
"宇恒一号操作计算软件实例(一)\宣传片.mov",
|
||||
"宇恒一号操作计算软件实例(一)\宇恒一号操作计算软件实例(一).mov"
|
||||
)
|
||||
Copy-First "video-calc-demo-2-cover.jpg" @(
|
||||
"宇恒一号操作计算软件实例(二)\宇恒一号操作计算软件实例(二)-封面.jpg",
|
||||
"宇恒一号操作计算软件实例(二)\宣传片-封面.jpg"
|
||||
)
|
||||
Copy-First "video-calc-demo-2.mov" @(
|
||||
"宇恒一号操作计算软件实例(二)\宇恒一号操作计算软件实例(二).mov",
|
||||
"宇恒一号操作计算软件实例(二)\宣传片.mov"
|
||||
)
|
||||
Copy-First "video-aiword-cover.jpg" @("宇恒一号AIWord简介\宇恒一号AIWord简介-封面.jpg")
|
||||
Copy-First "video-aiword.mov" @("宇恒一号AIWord简介\宇恒一号AIWord简介.mov")
|
||||
Copy-First "video-voice-office-cover.jpg" @("宇恒一号语音办公实例\宇恒一号语音办公实例-封面.jpg")
|
||||
Copy-First "video-voice-office.mov" @("宇恒一号语音办公实例\宇恒一号语音办公实例.mov")
|
||||
Copy-First "video-invoice-ai-cover.jpg" @("宇恒一号,AI 全自动办发票\宇恒一号,AI 全自动办发票-封面.jpg")
|
||||
Copy-First "video-invoice-ai.mov" @("宇恒一号,AI 全自动办发票\宇恒一号,AI 全自动办发票.mov")
|
||||
|
||||
Write-Host "完成。Linux 服务器上建议在 social 目录执行: chmod -R a+rX ."
|
||||
|
||||
@@ -8,35 +8,48 @@ SRC="$ROOT/web/promotion/视频发布"
|
||||
DST="$ROOT/web/promotion/social"
|
||||
mkdir -p "$DST"
|
||||
|
||||
copy_if () {
|
||||
local from="$1" to="$2"
|
||||
if [[ -f "$from" ]]; then
|
||||
cp -f "$from" "$to"
|
||||
echo "OK $to"
|
||||
else
|
||||
echo "SKIP (缺失): $from" >&2
|
||||
fi
|
||||
# 按顺序使用第一个存在的源文件
|
||||
copy_first() {
|
||||
local dest="$1"
|
||||
shift
|
||||
for from in "$@"; do
|
||||
if [[ -f "$from" ]]; then
|
||||
cp -f "$from" "$dest"
|
||||
echo "OK $(basename "$dest") <= $from"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
echo "SKIP (均未找到): -> $dest" >&2
|
||||
return 1
|
||||
}
|
||||
|
||||
# 操作与计算软件实例(一)
|
||||
copy_if "$SRC/宇恒一号操作计算软件实例(一)/宣传片-封面.jpg" "$DST/video-calc-demo-1-cover.jpg"
|
||||
copy_if "$SRC/宇恒一号操作计算软件实例(一)/宣传片.mov" "$DST/video-calc-demo-1.mov"
|
||||
copy_first "$DST/video-calc-demo-1-cover.jpg" \
|
||||
"$SRC/宇恒一号操作计算软件实例(一)/宣传片-封面.jpg" \
|
||||
"$SRC/宇恒一号操作计算软件实例(一)/宇恒一号操作计算软件实例(一)-封面.jpg" || true
|
||||
copy_first "$DST/video-calc-demo-1.mov" \
|
||||
"$SRC/宇恒一号操作计算软件实例(一)/宣传片.mov" \
|
||||
"$SRC/宇恒一号操作计算软件实例(一)/宇恒一号操作计算软件实例(一).mov" || true
|
||||
|
||||
# 操作与计算软件实例(二)
|
||||
copy_if "$SRC/宇恒一号操作计算软件实例(二)/宇恒一号操作计算软件实例(二)-封面.jpg" "$DST/video-calc-demo-2-cover.jpg"
|
||||
copy_if "$SRC/宇恒一号操作计算软件实例(二)/宇恒一号操作计算软件实例(二).mov" "$DST/video-calc-demo-2.mov"
|
||||
copy_first "$DST/video-calc-demo-2-cover.jpg" \
|
||||
"$SRC/宇恒一号操作计算软件实例(二)/宇恒一号操作计算软件实例(二)-封面.jpg" \
|
||||
"$SRC/宇恒一号操作计算软件实例(二)/宣传片-封面.jpg" || true
|
||||
copy_first "$DST/video-calc-demo-2.mov" \
|
||||
"$SRC/宇恒一号操作计算软件实例(二)/宇恒一号操作计算软件实例(二).mov" \
|
||||
"$SRC/宇恒一号操作计算软件实例(二)/宣传片.mov" || true
|
||||
|
||||
# AI Word
|
||||
copy_if "$SRC/宇恒一号AIWord简介/宇恒一号AIWord简介-封面.jpg" "$DST/video-aiword-cover.jpg"
|
||||
copy_if "$SRC/宇恒一号AIWord简介/宇恒一号AIWord简介.mov" "$DST/video-aiword.mov"
|
||||
copy_first "$DST/video-aiword-cover.jpg" "$SRC/宇恒一号AIWord简介/宇恒一号AIWord简介-封面.jpg" || true
|
||||
copy_first "$DST/video-aiword.mov" "$SRC/宇恒一号AIWord简介/宇恒一号AIWord简介.mov" || true
|
||||
|
||||
# 语音办公
|
||||
copy_if "$SRC/宇恒一号语音办公实例/宇恒一号语音办公实例-封面.jpg" "$DST/video-voice-office-cover.jpg"
|
||||
copy_if "$SRC/宇恒一号语音办公实例/宇恒一号语音办公实例.mov" "$DST/video-voice-office.mov"
|
||||
copy_first "$DST/video-voice-office-cover.jpg" "$SRC/宇恒一号语音办公实例/宇恒一号语音办公实例-封面.jpg" || true
|
||||
copy_first "$DST/video-voice-office.mov" "$SRC/宇恒一号语音办公实例/宇恒一号语音办公实例.mov" || true
|
||||
|
||||
# 办发票(目录名含全角逗号)
|
||||
copy_if "$SRC/宇恒一号,AI 全自动办发票/宇恒一号,AI 全自动办发票-封面.jpg" "$DST/video-invoice-ai-cover.jpg"
|
||||
copy_if "$SRC/宇恒一号,AI 全自动办发票/宇恒一号,AI 全自动办发票.mov" "$DST/video-invoice-ai.mov"
|
||||
copy_first "$DST/video-invoice-ai-cover.jpg" "$SRC/宇恒一号,AI 全自动办发票/宇恒一号,AI 全自动办发票-封面.jpg" || true
|
||||
copy_first "$DST/video-invoice-ai.mov" "$SRC/宇恒一号,AI 全自动办发票/宇恒一号,AI 全自动办发票.mov" || true
|
||||
|
||||
if command -v chmod >/dev/null 2>&1; then
|
||||
chmod -R a+rX "$DST" 2>/dev/null || true
|
||||
|
||||
Reference in New Issue
Block a user