cmd.exeの奇妙な動作。もうデスクトップを認識しない


0

.batファイルにtracertコマンドを追加しようとしていました。

cmd.exeで私は書いていました:

tracert 111.111.111.111 > desktop\tracert.txt

そしてそれは大丈夫でした。このようなbatファイルを作成しました:

::@echo off
Cd C:\
cls
echo %DATE%
echo %TIME%
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetimef%
::2013_04_20__13_01_47
::tracert 111.111.111.111 > desktop\Tracert_IP1_%datetimef%.txt
tracert 111.111.111.111 > desktop\tracert.txt

アイデアはデータをファイル名に追加することです。私はそれをtracert.txt内に書きたいのですが、どうすればいいかわかりません。

コード結果:

C:\>echo 20/04/2013
20/04/2013

C:\>echo 14:18:12,44
14:18:12,44

C:\>set datetimef=2013_04_20__14_18_12

C:\>echo 2013_04_20__14_18_12
2013_04_20__14_18_12

**C:\>tracert 111.111.111.111  1>desktop\tracert.txt**
**The system cannot find the path specified**

「>」の前に「1」を追加し、「>」と「デスクトップ」の間のスペースを削除するのはなぜですか?

とにかく、tracertコマンドで直接コマンドを再度実行しようとしましたが、今ではbatファイルと同じエラーメッセージが表示されています: The system cannot find the path specified

編集1:まあ、パスが見つからないという問題は、「cd」コマンドを使用してcmdパスを変更したためです。デスクトップフォルダが見つかりませんでした!私は恥ずかしい!申し訳ありません。.「1」についてのリプレイと、スペースの消失についてお礼を申し上げます。


1
すべてのあいまいさを取り除くために、必要に応じて引用符でフルパスを指定しないのはなぜですか?
カラン

おそらく%USERPROFILE%\ Desktopを使用します
unknownprotocol

あなたが正しいです!ダムの問題..ごめんなさい
-Pedro77

回答:


1

知ってdesktopいる場所は、同じ名前のユーザープロファイルのサブフォルダーです。バッチファイルがデスクトップに保存されているdesktop\場合は、出力の一部を削除するだけです。cmdそのベースディレクトリを実行すると、その下にデスクトップフォルダがあるルートユーザープロファイルディレクトリになります。バッチファイルを作成して実行すると、動作するベースディレクトリcmdはユーザープロファイルではなくそのディレクトリになります。

バッチファイルを保存場所に関係なくデスクトップに常に出力する場合、cmd環境にはUSERPROFILEプロファイルディレクトリ(C:\Users\yourUserName)を指す変数があり\desktop、デスクトップにファイルを出力するために組み合わせることができます。

どこにいる

tracert 111.111.111.111 > desktop\tracert.txt

に置き換える

tracert 111.111.111.111 > %USERPROFILE%\desktop\tracert.txt

はい、それは私が言うことです。あるいは、また、このユーザーのデスクトップフォルダのための環境変数を作成することができます...それは、exのためを介してアクセスすることができます:%DESKTOP%
unknownprotocol

3

この場合の「デスクトップ」は相対パスです。正しいフォルダーに変更する(「cd」コマンド)か、出力ファイルへのパス全体を.batファイルに入れる必要があります。


パスにスペースが含まれる場合-「」で囲まれたパス全体を指定する必要があります。
pbies

1

1> STDERRとは対照的に、STDOUTは 2>

スペースは単なる構文上の問題であり、cmd.exeは空白を好まないため、変更します。

詳細については、Microsoftのコマンドリダイレクトページを参照してください。

見つからないエラーについては、そのディレクトリ内の権限を確認することが最初の提案です。

PS:もう勝者ではありませんが、「デスクトップ」はデスクトップにアクセスする有効な方法ですか、それともディレクトリ名ですか?


私は非常に愚かだったことを認識しています!Lol ... cmdを起動すると、デフォルトでUsers \ UserNameフォルダーで起動します!「cd」でcmdパスを変更しました。ごめんなさい!
Pedro77
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.