前提
<環境>
サーバー側 :Windows10Pro(共有フォルダあり:win_share)
クライアント側 :mx Linux21.1(samba及びsmbclient:ver.4.13.13-Debian)
実現したいこと
<パスの構造>
[linux側] ユーザー / linDir / linDir2 / a.txt
[windows側] win_share(共有) / winDir
<希望>
Linuxの下層フォルダ[ linDir2/a.txt ]をWindowsのwin_share/winDir/[ この位置 ]に転送したい
①python3.xでのコード記述
<状況>
以前に類似した質問をこの質問サイトに投稿させて頂き、その件では無事に解決いたしました。
その節は大変お世話になり、ありがとうございました。
お陰様で、ファイルの転送をsmbclientで送受信がpythonでもうまくいきました
linux側の下層フォルダを指定するとターミナルのコマンドではうまくいきましたが
pythonの記述がわかりません。
ぜひ、ご指導・アドバイスのほど、宜しくお願いいたします。
発生している問題・エラーメッセージ
#エラーメッセージは①②ともに特に出ておりません
該当のソースコード
python3.x
1import subprocess 2 3A = 'smbclient -U username%passwd //win_pc/win_share ' 4 5# うまくいったコード 6 # fileのput 7 b = '-c "put linDir/linDir2/a.txt winDir/a.txt; exit"' 8 c = A+b 9 subprocess.Popen(c, shell=True) 10 11 # dirのmput ※ユーザーフォルダの直下にあるフォルダならうまくいきます 12 d = '-c "cd winDir; prompt; recurse; mput linDir; exit"' 13 e = A+d 14 subprocess.Popen(e, shell=True) 15 16 ※ターミナルで下記コマンドだとうまくいきましたが、pythonでの記述方法がわかりません 17 cd linDir; smbclient -U username%passwd //win_pc/win_share -c "cd winDir; prompt; recurse; mput linDir2; exit" 18 19 ※現在は暫定的に上記コマンドをbashファイルにしてpythonで呼び出しています 20 subprocess.Popen(['bash',test.sh]) 21 22# 失敗したコード ※ユーザーフォルダの直下にあるフォルダならうまくいきます 23 x = 'cd linDir; ' 24 f = '-c "cd winDir; prompt; recurse; mput linDir2; exit"' 25 g = x+A+f 26 subprocess.Popen(g, shell=True)
試したこと
cd linDir; recurse; 等を追加したり、順番を替えたりと色々試しましたが
自分自身、訳がわからなくなってしまいました
また、webでmaskの記述があり'*'についても記載がありました。そこで
サンプルも検索しましたが、結局、見つからず、全く理解できませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/08/19 07:22