Как Matt говорит, используйте Процесс. Запустите .
можно передать URL или документ. Они будут запущены зарегистрированным приложением.
Пример:
Process.Start("Test.Txt");
Это запустит Notepad.exe с загруженного Text.Txt.
for f in *.pdf; do
name=`echo "$f"|sed 's/ -.*//'`
letter=`echo "$name"|cut -c1`
dir="DestinationDirectory/$letter/$name"
mkdir -p "$dir"
mv "$f" "$dir"
done
На самом деле нашел другой способ сделать это, просто подумал, что отправлю это, чтобы другие могли увидеть / использовать, если захотят.
#!/bin/bash
dir="/books"
if [[ `ls | grep -c pdf` == 0 ]]
then
echo "NO PDF FILES"
else
for src in *.pdf
do
author=${src%%-*}
authorlength=$((${#author}-1))
letter=${author:0:1}
author=${author:0:$authorlength}
mkdir -p "$dir/$letter/$author"
mv -u "$src" "$dir/$letter/$author"
done
fi
for i in *.pdf; do dir=$(echo "$i" | \ sed 's/\(.\)\([^ ]\+\) \([^ ]\+\) - \(.*\)\.pdf/\1\/\1\2 \3/') dir="DestinationDirectory/$dir" mkdir -p -- "$dir" && mv -uv "$i" "$dir/$i" done
@OP, вы можете сделать это с помощью bash
dest="/tmp"
OFS=$IFS
IFS="-"
for f in *.pdf
do
base=${f%.pdf}
letter=${base:0:1}
set -- $base
fullname=$1
pdfname=$2
directory="$dest/$letter/$fullname"
mkdir -p $directory
cp "$f" $directory
done
IFS=$OFS