5

バッチ ファイルを使用して WinSCP にアクセスします。は、.bat次を含むスクリプト ファイルを読み取ります。

cd /download/.stuff
get file.txt D:\Name\Sub Name\Even Lower 

ディレクトリを正常に変更し、ファイルを正常に検出しますが、ローカルコンピューターのサブフォルダーディレクトリに配置すると、このエラーが発生します

ファイル ' D:\Name\Sub Name\Even' の属性を取得できません。
そのようなファイル、又はディレクトリはありません

構文は正しいと思います。

そのサブフォルダーにドロップしない理由はありますか?

ありがとう

4

1 に答える 1

7

@Rubが述べたように、それはスペースです。スペースを含むパスは二重引用符で囲む必要があります。また、バックスラッシュでパスを終了する必要があります。Even Lowerそれ以外の場合は、ファイルをローカル ディレクトリのファイルにダウンロードしますD:\Name\Sub NameD:\Name\Sub Name\Even Lowerしかし、名前を保持したまま、にダウンロードしたいと思いますfile.txt

これは正しい構文です:

get file.txt "D:\Name\Sub Name\Even Lower\"

参考文献:
https://winscp.net/eng/docs/scripting#syntax
https://winscp.net/eng/docs/scriptcommand_get

表示されるエラー メッセージはあまり意味がありません。同じことをしようとすると、次のようになります。

ファイル 'D:\Name\Sub' の属性を取得できませ
ん そのようなファイルまたはディレクトリはありません。

これは、コマンドの意味として理にかなっています: 3 つのリモート ファイルfile.txtをダウンロードD:\Name\Subし、ローカルの現在の作業ディレクトリ内のName\Evenローカル ファイルに保存します (相互に上書きします)。Lowerしたがって、リモートファイルの検索に失敗しますD:\Name\Sub

于 2013-05-07T14:46:39.670 に答える