[英]How to run .sh file on Windows10 startup
啟動 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 + if [ -d $sortingFolder ] + ~ Missing '(' after 'if' in if 語句。在 line:1 char:5 + if [ -d $sortingFolder ] + ~ Missing type name after '['. + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException +fullyQualifiedErrorId : MissingOpenParenthesisInIfStatement
可能有點復雜,但它有效:您可以使用以下命令在 powershell 中運行 sh 腳本
sh yourShScript
您可以將此命令放在一個powershell 腳本文件(例如yourScript.ps1)中,然后將此powershell 腳本放在一個cmd 腳本中,然后您可以在啟動時運行該腳本。 在 cmd 文件中寫入:
PowerShell pathToYourScript\\yourscript.ps1
我建議使用與 gazzo 相同的方法,但不建議使用 powershell,而是使用諸如 git bash 之類的虛擬 shell。 當然可以的話。
由於我們的環境在工作中的設置方式,我通過 git bash 使用 bash 腳本來下載 git 存儲庫、動態設置項目等。您可以設置 Windows 來運行 git bash exe 並傳入您的 bash 腳本的路徑來運行它。
在 powershell 中使用:
wsl sh
這將啟動 wsl 子系統,而不僅僅是 powershell
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.