【发布时间】:2019-12-19 15:57:40
【问题描述】:
如何在启动 Windows 10 时运行 Bash 脚本?
我只能找到 ubuntu 的灵魂。
谢谢。
#!/bin/bash
# Desktop PATH
Desktop=/c/Users/118883/Desktop
# folder with the script
executeFolder=Clean-up-folder-structure
# mainfolder
sortingFolder=sorting
# inner folders
docFolder=1.word_docs
excelFolder=2.excel_docs
imageFolder=3.images
cd $Desktop
# moves all folders from desktop to a sorting folder
function moveMyFiles(){
find * -mindepth 0 -maxdepth 0 -not -name $sortingFolder -not -name
$executeFolder -exec mv -v -t $sortingFolder {} +
}
# Sort al the .docx files
function sortDocs(){
cd $sortingFolder
if [ -d $docFolder ]
then
find *.docx -mindepth 0 -maxdepth 0 -exec mv -v -t $docFolder {} +
else
mkdir $docFolder
find *.docx -mindepth 0 -maxdepth 0 -exec mv -v -t $docFolder {} +
fi
}
function sortExcel(){
cd $sortingFolder
if [ -d $excelFolder ]
then
find *.xlsx -mindepth 0 -maxdepth 0 -exec mv -v -t $excelFolder {} +
else
mkdir $excelFolder
find *.xlsx -mindepth 0 -maxdepth 0 -exec mv -v -t $excelFolder {} +
fi
}
function sortImages(){
cd $sortingFolder
if [ -d $imageFolder ]
then
find *.PNG -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.JPEG -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.jpeg -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.jpg -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.GIF -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
else
mkdir $imageFolder
find *.PNG -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.JPEG -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.jpeg -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.jpg -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
find *.GIF -mindepth 0 -maxdepth 0 -exec mv -v -t $imageFolder {} +
fi
}
#main execute
if [ -d $sortingFolder ]
then
cd $Desktop
moveMyFiles
sortDocs
sortExcel
sortImages
else
# zo niet maak een folder
cd $Desktop
mkdir $sortingFolder
moveMyFiles
sortDocs
sortExcel
sortImages
fi
在 Powershell 中运行时出现错误。 语法错误和解析错误。 喜欢:
在 line:1 char:3 + 如果 [ -d $sortingFolder ] + ~ if 语句中的 'if' 后面缺少 '('。 在行:1 字符:5 + 如果 [ -d $sortingFolder ] + ~ '[' 后缺少类型名称。 + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisInIfStatement
【问题讨论】:
-
Bash 脚本是 Unix。为什么要在 Windows 系统上运行一个?
-
Windows 10 有一个启用 bash 的选项。