【.cmd】 バッチファイルスクリプト %5 【.bat】at TECH
【.cmd】 バッチファイルスクリプト %5 【.bat】 - 暇つぶし2ch236:デフォルトの名無しさん
09/09/12 19:12:36
>>232
はにゃ?

237:デフォルトの名無しさん
09/09/12 19:20:24
>>236
はにゃ?知らんと?
CTRL+Cしてメモ帳に貼り付けて保存a.txt
バイナリで改行コードを調べてみ
そうか
for /f %a in (a.txt) do echo [%a]
でもわかるが

238:デフォルトの名無しさん
09/09/12 19:34:01
mshta.exe vbscript:close(Msgbox("テレビの時間"))

239:デフォルトの名無しさん
09/09/12 20:22:26
mshta.exe javascript:alert("テレビの時間");close()

240:デフォルトの名無しさん
09/09/12 21:06:26
mshta.exe javascript:"テレビの時間"

241:デフォルトの名無しさん
09/09/12 22:19:07
@<nul rem='
@at.exe %1 /interactive mshta.exe "file://%~f0?%*"
@exit /b
'>
<script>resizeTo(320, 240);var arg=location.search.substr(1).split(/ /g);
document.title=arg[0];</script>
<hta:application innerborder="no" scroll="no" selection="no" />
<style>body{background-color:#00f;color:#00f;
font-family:'HG PGothicE';text-align:center;font-size:0px;}
div{position:relative;color:#fff;font-size:24pt;}</style>
<body onload="text.style.top=(108-20*arg.length)+'px';">
<div id="text"><script>document.write(arg.slice(1).join('<br>'));</script>

242:デフォルトの名無しさん
09/09/13 04:20:02
メッセンジャーサービスが動いている前提なら、net send %computername%で自分自身にメッセージ送るのがお手軽じゃけん。

243:デフォルトの名無しさん
09/09/14 23:44:49
forでdelims=に羅列した文字を区切り文字にしますが、
eol=に羅列して複数文字を無視判定文字にすることはできないのですか?

244:デフォルトの名無しさん
09/09/15 01:08:00
for /f "eol=b" %y in ('for /f "eol=a" %x in ( ) do echo %x') do echo %y

245:デフォルトの名無しさん
09/09/15 14:43:45
delimS Sがあるだろ?
eolS? Sがないだろ?

246:デフォルトの名無しさん
09/09/15 23:53:36
はい

247:デフォルトの名無しさん
09/09/19 00:49:53
forで"delims="で区切り文字をなしにしますが、
"eol="で無視判定文字をなしにすることはできないのですか?

248:デフォルトの名無しさん
09/09/20 21:46:12
はい

249:デフォルトの名無しさん
09/09/23 21:47:14
>>241 がうまく動かない。青い小さなウィンドウが開くだけ

250:デフォルトの名無しさん
09/09/23 22:19:23
>>249
>>215のように
○○.bat 16:00 テレビの時間
のように起動してる?

251:デフォルトの名無しさん
09/09/23 22:41:54
?

252:デフォルトの名無しさん
09/09/24 00:04:16
サーバにあるファイルを、こちらにあるファイルと取り替えたいのですが、
どうすれば可能でしょうか。一応、作ってみましたが、うまく動作してくれません。
サーバ格納先などのパスがわからないので、とりあえず自分のパソコン内で移動させようとしてます


CD C:\severkakunou

SK01.bmp

CD C:\hozonsaki

set /p INP="1:通常用、2:緊急用"

if INP == 1

del /p C:\severkakunou>SK01.bmp

C:\hozonsaki>copy SK01_00.bmp C:\severkakunou

else if INP == 2

del /p C:\severkakunou>SK01.bmp

C:\hozonsaki>copy SK02_01.bmp C:\severkakunou

else echo 入力できるのは「1」か「2」のみです

253:デフォルトの名無しさん
09/09/24 00:08:59
JOKEだとしても、面白くないよ

254:デフォルトの名無しさん
09/09/24 12:15:28
<~~~>(id="~~~-XXX-~~")
 <name>~~~</name>
 <file = "~~~~~"/>
</~~~>

255:デフォルトの名無しさん
09/09/24 12:17:26
>>251>>254
何か言え

256:デフォルトの名無しさん
09/09/25 00:47:07
やま

257:デフォルトの名無しさん
09/09/25 08:11:41
だでんき

258:デフォルトの名無しさん
09/09/26 10:32:02
べす

259:デフォルトの名無しさん
09/09/29 01:12:38
シェルをバッチファイルへ置き換えてるんだが、
シェルのchmod 644 とか trap とか kill -HUP とか limitは
バッチでも処理可能ですか?

260:デフォルトの名無しさん
09/09/29 01:24:50
どうぞ、
chmod.exe
trap.exe
kill.exe
limit.exe

261:デフォルトの名無しさん
09/09/29 03:38:41
>>259が言うシェルって何シェルの事なんだろう?

262:デフォルトの名無しさん
09/09/29 11:45:52
>>261
CSHだと思ってたんだが、拡張子がないから分からない…
すんません

263:デフォルトの名無しさん
09/09/29 11:49:24
つーか、Windowsでlimitだとか再現する意味があるのかね。

264:デフォルトの名無しさん
09/09/29 15:57:53
windowsでkill -HUPってなんだ? 

265:デフォルトの名無しさん
09/09/29 19:16:39
アプリケーションのGUIを操作するコマンドってあるのでしょうか?


266:デフォルトの名無しさん
09/09/29 20:50:47
cscript.exe
mshta.exe

267:デフォルトの名無しさん
09/09/29 22:23:04
>GUIを操作

WScript.Shell#SendKeysみたいなもんの事?それとも>>266


268:デフォルトの名無しさん
09/09/29 22:37:30
AppActivate.exe
SendKeys.exe

269:デフォルトの名無しさん
09/09/29 23:46:35
バイナリで特定のアドレスだけでよいので変更するバッチはないですかね?

270:デフォルトの名無しさん
09/09/29 23:55:04
なんて、説明したらよいのか、アプリをバッチファイルから起動したいのですが
TsSplitterというソフトなんですが、コマンドラインからも使えるのですが、なぜか処理がうまくいかなくて
GUIのものですとうまく起動するんです。
バッチファイルで起動まではできるのですが、そのあとの詳しい設定は前回履歴がのこっているので、
問題ありませんが、実行ボタンを手動で決定しなければなりません。
それをどうか自動処理できないかと四苦八苦している状態です。
お手数おかけしますが、もし可能であればお教えいただけるとありがたいです。


271:デフォルトの名無しさん
09/09/30 01:47:47
>>270
UWSCとか
URLリンク(www.uwsc.info)


272:デフォルトの名無しさん
09/09/30 09:35:28
>>269
それをバッチでやる理由は? 普通はバイナリエディタなりパッチツールを使うか、専用のパッチツールを作ると思うのだけど。

273:デフォルトの名無しさん
09/09/30 12:27:16
debug

274:デフォルトの名無しさん
09/09/30 14:10:22
>266
>267
できれば、>270のようにしたいと考えていますので
実行ボタンさえおせればいいのですが、、、どう組み込めばいいのでしょうか?


>271 少し私には理解できませんでした。
すいません。ありがとうございました。


275:デフォルトの名無しさん
09/09/30 14:20:38
実行ボタンくらい自分で押せばいいじゃん。

276:デフォルトの名無しさん
09/09/30 14:26:32
ぐぐりにいったら「他のキーワード」で「tssplitter バッチファイル」を提示された。
ちゃんと見てないが、色々バッチファイルを作っている人もいそうなのだけど、見てみたのかな?

277:デフォルトの名無しさん
09/09/30 14:37:54
なにこいつ。

278:デフォルトの名無しさん
09/09/30 17:35:21
>275それをいたっら、、、(笑)

>276
そちらはコマンドラインから動くものなので、
GUIのものを動かしたく考えておりますので、またすこし違うんです。。。。



279:デフォルトの名無しさん
09/09/30 18:07:50
> >271 少し私には理解できませんでした。

この手の人にはいくら回答付けても無駄だよ。
いくら的確な回答でも「理解できない」で終わり。

私努力する気無いから私の知ってるやりかたで教えてね(はあと

280:デフォルトの名無しさん
09/09/30 20:19:22
>>278
まずキーボード操作だけでその「実行」ボタンとやらを押す手順を考えるんだ。
大抵のGUIアプリならショートカットキーとかタブキーとか使えばできるだろ。
そしたらそれをVBScriptのWScript.Shell#SendKeys関数で再現すればよい。

WScript.Shell#SendKeys関数の使い方はぐぐってもよし、やふってもよし。

…お前の次の台詞は「少し私には理解できませんでした」と言う…

281:デフォルトの名無しさん
09/10/01 20:29:11
初歩的な質問ですいません

ファイル名を変更するバッチを作りたいんですが

ren *.bat_old.bat *_old.bat
で変更が出来ませんでした

どなたか教えて頂けませんか

282:デフォルトの名無しさん
09/10/01 23:25:34
できてるだろ?
ただ、そのコマンドラインは同じ名前に変えろと言ってるように見えるが?
なので変わらない。

283:デフォルトの名無しさん
09/10/02 01:13:48
.bat_old.bat の左がxなら
ren *x.bat_old.bat *x_old.bat
でいくよ

284:デフォルトの名無しさん
09/10/02 01:55:04
ren ?.bat_old.bat ?_old.bat
ren ??.bat_old.bat ??_old.bat
ren ???.bat_old.bat ???_old.bat
ren ????.bat_old.bat ????_old.bat
...

285:デフォルトの名無しさん
09/10/02 07:53:29
>>283
ありがとうございます

ただワイルドカードで指定してる部分は長さや文字が全てが不定になっています;

Start.bat_old.bat⇒Start_old.bat
Stop.bat_old.bat⇒Stop_old.bat
という風に変えたいのですが

ren *.bat_old.bat *_old.bat
では結果は

Start.bat_old.bat⇒Start.bat_old.bat
Stop.bat_old.bat⇒Stop.bat_old.bat
のままでした

例えば元のファイル名から真ん中の.batのみを削除する方法や
ワイルドカード指定してる所を変数に入れて処理する方法があれば教えていただきたいです

286:デフォルトの名無しさん
09/10/02 10:29:38
ren *.bat_old.bat *.|for /f "delims=" %i in ('dir /b *.bat_old') do ren "%i" "%~ni_old.bat"
こんな感じ?

287:デフォルトの名無しさん
09/10/02 14:27:06
for文変数のコピーは可能ですか?
下のようにしましたが動きませんでした


for %%i in (*.txt) do (
set k=%%i
echo %k%
)

288:デフォルトの名無しさん
09/10/02 15:24:44
またこの質問か

289:デフォルトの名無しさん
09/10/02 15:55:01
ren *.bat *_old.bat
とやってしまって、戻そうとしてんだろ?
やれやれだ
3段階で戻すんだな
ren *.bat_old.bat *.
ren *.bat_old *.
ren *. *_old.bat

290:デフォルトの名無しさん
09/10/02 18:58:25
>>288
新入りなんだから、そんなこと言わずに歓迎してやれよ

291:デフォルトの名無しさん
09/10/02 20:56:00
ren *.bat *_old.bat

ren *.bat *.
ren *. *_old.bat
とやればよかったのに

292:デフォルトの名無しさん
09/10/02 20:57:03
>>287
ウェルかめ

293:デフォルトの名無しさん
09/10/03 12:05:19
おまいら答もかいてやれよ

>>287
echoの行は遅延展開が必要。詳しくはset /? とかを参照

setlocal EnableDelayedExpansion
for %%i in 略
set k=%%i
echo !k!

294:デフォルトの名無しさん
09/10/03 12:13:22
>>293
a!.txt
がどうなるか知ってるのか?

295:デフォルトの名無しさん
09/10/03 12:24:47
>>294
これって解決方法あんの?

296:デフォルトの名無しさん
09/10/03 12:42:09
>>295
遅延変数展開を禁止して
サブルーチンでは変数が毎回評価されるのを利用するとか

setlocal DisableDelayedExpansion
for %%i in (*.txt) do call :foo %%i
goto :EOF

:foo
set k=%1
echo %k%
goto :EOF

297:デフォルトの名無しさん
09/10/03 18:46:01
for %%i in (*.txt) do (
set k=%%i
setlocal EnableDelayedExpansion
echo !k!
endlocal
)

298:デフォルトの名無しさん
09/10/04 13:59:14
for %%i in (*.txt) do (
set k=%%i
call echo %%k%%
)

299:デフォルトの名無しさん
09/10/05 19:13:20
複数ファイルの結合についてご意見を…
結合先の名前にアンダーバーを使いたいのですがうまくいきません

ファイルの場所がc:\movie\123abc\
元ファイル「123_01.mpg」「123_002.mpg」
結合後のファイル名「123_100.mpg」
バッチフィル名「copy.bat」
として、ファイル名の前半はディレクトリ名の一部を使うので

set fullpath=%0
set number=%fullpath:~-16,3%         ←フルパスから16文字さかのぼって3文字とると「123」になります
copy /B *01.mpg+*02.mpg %number%_100.mpg

のようにしましたが、うまくいきません
アンダーバーをハイフンにすると「123-100.mpg」というのが出てきます(うまくいく)
たぶんアンダーバーが使えないんだと思い、ハイフンで作ってからリネームをしようと思ったのですが

ren %number%-100.mpg %number%_100.mpg

これを入れてもだめでした。どうしたらいいんでしょう?

300:デフォルトの名無しさん
09/10/05 19:19:30
すみません誤字が多かったので少し訂正します…

バッチファイル C:\movie\123abc\copy.bat
元ファイル1 C:\movie\123abc\123_01.mpg
元ファイル2 C:\movie\123abc\123_02.mpg

結合後 C:\movie\123abc\123_100.mpg

やりたいのは以上です。

301:デフォルトの名無しさん
09/10/05 19:24:22
何の根拠もないてきとーレス

”で括ってみたら?

302:デフォルトの名無しさん
09/10/05 20:51:17
すみません誤字が多かったので少し訂正します…

バッチファイル C:\movie\123abc\copy.bat
元ファイル1 C:\movie\123abc\123_01.mpg
元ファイル2 C:\movie\123abc\123_02.mpg

結合後 C:\movie\123abc\123_100.mpg

やりたいのは以上です。

303:デフォルトの名無しさん
09/10/05 21:00:06
たぶんアンダーバーが使えない

304:デフォルトの名無しさん
09/10/05 21:10:23
アンダーバーをハイフンにするとうまくいくよ

305:デフォルトの名無しさん
09/10/05 23:14:15
どういうこと?

306:デフォルトの名無しさん
09/10/06 02:52:35
%0 にフルパスがはいらないこと以外はうまくいく
つーかそのパスなら -15,3 じゃないの

307:デフォルトの名無しさん
09/10/06 03:20:23
ダブルクリック前提?

308:デフォルトの名無しさん
09/10/06 10:44:20
フルパスは%~f0だしディレクトリ名欲しいだけなら%~n0でいいんじゃ


309:デフォルトの名無しさん
09/10/06 11:15:16
いろいろどうもです。始めたばかりで変数の取り方もちょっとしか知りません
とりあえずアンダーバーは使えないと思って進めます。""でくくっても""が付くだけでした
%0と%~f0のどちらもいけます、中身はちょっと違いますが似てるのでOKです
%~n0はバッチファイルの名前が出てきてしまったので目的とは違いました

単にbatファイルのあるディレクトリの最初3文字を使って
同じディレクトリにあるファイルを結合させたいだけなんですが…('A`)


310:デフォルトの名無しさん
09/10/06 12:03:29
>>309
ああすまん、%~n0は完全に私の勘違いでした

311:デフォルトの名無しさん
09/10/06 14:13:42
なんでアンダーバーが使えないんだ?

312:デフォルトの名無しさん
09/10/06 14:34:57
copy a+b c_d
使えるけど?

313:デフォルトの名無しさん
09/10/06 15:11:01
そもそもcopyコマンドでどんなエラーが出たか書いてない時点で…
「うまくいきません」とだけ言われてもね…


314:デフォルトの名無しさん
09/10/06 15:54:22
シンボリックリンクのリンク切れを判定して削除するバッチ希望

315:デフォルトの名無しさん
09/10/06 21:16:55
シェルのショートカットのこといってんの?
バッチよりVBSのほうが早いな

316:デフォルトの名無しさん
09/10/06 22:02:17
Vistaや7には、ショートカットでは無いシンボリックリンクが正式に存在するんだぜ
もっとも、それ以前から微妙に存在してたけどな

317:デフォルトの名無しさん
09/10/07 00:55:57
>>299
>バッチフィル名「copy.bat」 
これは…

318:デフォルトの名無しさん
09/10/07 01:38:29
だから何だ? 現象を説明できるのか?

319:デフォルトの名無しさん
09/10/07 01:44:32
copy.bat祭りが始まったと聞いてやって来ますた。

320:デフォルトの名無しさん
09/10/07 01:50:51
まユニークな名前を付けるべきではある

321:デフォルトの名無しさん
09/10/07 01:57:53
短いファイル名を付けないようにすると %~snxI はどうなる?

322:デフォルトの名無しさん
09/10/09 19:22:07
フォルダのシンボリックリンクとジャンクションの違いが分らん

323:デフォルトの名無しさん
09/10/11 16:13:36
ユーザの下にジャンクションがあるが、ダブルクリックするとアクセスエラー
なんのためにあるんだ?

324:デフォルトの名無しさん
09/10/11 17:37:25
ダブルクリックするとアクセスエラーになるのがジャンクション
ならないのがシンボリックリンクだにゃ
つまり、エクスプローラに見せたいか、見せたくないかだにゃ

325:デフォルトの名無しさん
09/10/12 22:40:21
>>317
通常のdosコマンドだったら大丈夫だったはず。

regとかfindstrとかはアウトだけど。

326:デフォルトの名無しさん
09/10/13 00:57:21
pingが通るか通らないかで分岐したいんですが
どうすればよいでしょうか?

327:デフォルトの名無しさん
09/10/13 01:02:45
最近のWindowsに付属のものならErrorLevelで判断できる。

328:デフォルトの名無しさん
09/10/13 01:12:41
>>325
同じ名前のコマンドとバッチ、どっちが先に処理されるかって事でしょ

329:デフォルトの名無しさん
09/10/13 01:13:06
本当ですね。
ありがとうございました。

330:デフォルトの名無しさん
09/10/13 21:17:50
>>328
だから通常コマンドならこっちがバッチより先。
copy.batとかmove.batとかは問題なし。

331:デフォルトの名無しさん
09/10/13 21:58:26
通常じゃないコマンドってなんだよw
つーかカレントディレクトリにあるもの優先だろが

332:デフォルトの名無しさん
09/10/13 22:08:53
C:\>おまいら用語を知らんのか?
'おまいら用語を知らんのか?' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

333:デフォルトの名無しさん
09/10/13 23:42:37
用語を知ってるレベルになるとバッチなんか使わない

334:デフォルトの名無しさん
09/10/14 00:26:04
>>326
ping www.google.com && echo succ || echo fail

335:デフォルトの名無しさん
09/10/14 02:45:21
組み込みコマンドがexeやbatより優先されるのって、なんか慣れない。
パスで修飾とかできないから、そうせざるを得ないのは理解できるんだけどなあ。

336:デフォルトの名無しさん
09/10/14 04:37:26
だからぁ優先されないって言ってんじゃん

337:デフォルトの名無しさん
09/10/14 10:29:23
内部コマンド>カレントディレクトリの外部コマンド>パス上の外部コマンド

の順番だっけ?
初期からあるコマンドに内部コマンドと外部コマンドが入り交じってるのに
順番がこんなんだから解りにくいことになってるな

338:デフォルトの名無しさん
09/10/14 12:13:20
ユーザ名の一覧が改行区切りで保存されたファイルがあります。
バッチを実行したユーザがそのファイルに存在したときのみ
それ以降の処理を行うようにしたいのですが、
どのように書けばよいでしょうか?
ユーザが存在するかどうかは
findstr "name" "\\server\Users.txt" /i /x"
にて判断できるかと思ったのですが
開くことができませんと表示されてしまいます・・・

339:デフォルトの名無しさん
09/10/14 13:36:24
>>338
エラーメッセージに答えでてるじゃん
FINDSTR: 開くことができません (/i)
FINDSTR: 開くことができません (/x)


340:デフォルトの名無しさん
09/10/14 14:44:53
findstr.exeのプロパティを見てみ
元はresource kitのqgrep
だからシンタクスはunix流
findstr -i -x "name" "\\server\Users.txt"

findstr "name" "\\server\Users.txt" /i /x"
はdos流

341:デフォルトの名無しさん
09/10/14 17:02:19
<全角文字や半角スペース入り> DELAY <数字か-で始まる数字>ms.aac
ってファイル名から<数字か-で始まる数字>だけを取り出して変数にsetしたいのですけどよい方法はありますか?
DELAYの前に半角スペースが入ることもあるのでfor /fのdelims= では駄目でした

342:デフォルトの名無しさん
09/10/14 17:04:26
途中で送信

343:デフォルトの名無しさん
09/10/14 18:19:33
echo %hoge:*DELAY=%

344:デフォルトの名無しさん
09/10/14 20:08:15
>>343
ありがとうございます
前後を置換して取り出せました

345:デフォルトの名無しさん
09/10/15 14:12:52
ドライブの空き領域のみを表示させるにはどうすればよいでしょうか?

346:デフォルトの名無しさん
09/10/15 15:21:35
for /f "skip=9 tokens=3" %%i in ('dir /-c c:\') do (@set a=%%i)

for /f "skip=2 tokens=2 delims=:" %i in ('fsutil volume diskfree c:') do @echo %i

347:デフォルトの名無しさん
09/10/15 18:44:57
@if "%~d1"=="" %~f0 %CD%
@mshta.exe "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){try{GetStandardStream(1).Write(GetDrive('%~d1').FreeSpace);}catch(e){}}close();" | more

348:デフォルトの名無しさん
09/10/15 18:51:40
wmic logicaldisk c: get freespace

349:デフォルトの名無しさん
09/10/15 19:08:46
77F91AB1 mov eax,ecx
77F91AB3 mov ecx,dword ptr [ebp-10h]
77F91AB6 mov dword ptr fs:[0],ecx
77F91ABD pop edi
77F91ABE pop esi
77F91ABF pop ebx
77F91AC0 leave
77F91AC1 ret
77F91AC2 push ebp
77F91AC3 mov ebp,esp
77F91AC5 sub esp,258h
77F91ACB lea eax,[ebp+0Ch]
77F91ACE push eax
77F91ACF lea eax,[ebp-258h]
77F91AD5 push dword ptr [ebp+8]
77F91AD8 push 200h
77F91ADD push eax


350:デフォルトの名無しさん
09/10/21 18:22:39
ロボコップがコマンドコムの読み込み後にバイオスをロードしました

351:デフォルトの名無しさん
09/10/21 18:35:42
romは遅いからramにコピーするんですね。普通です。

352:デフォルトの名無しさん
09/10/21 19:30:22
rem

353:デフォルトの名無しさん
09/10/22 10:47:15
コマプロからftpでunixにデータアップすると日付時間がかわる…
変えずにアップする方法ないかな…

バッチ内部に組み込み途中で挫折した。

固めてアップとか3rdPT製アプリ使用jはナシの方向で解決策ないかねぇ…


ないか…

354:デフォルトの名無しさん
09/10/22 10:55:58
>>353
フリーのftpクライアントと同じ戦略でいいじゃん。
あれは、サーバにアップロードした後シェル実行でタイムスタンプを強制しているだけなんだから。

355:デフォルトの名無しさん
09/10/22 11:24:00
コマプロw

356:デフォルトの名無しさん
09/10/22 11:37:21
メインフレーム業界に居る俺はコマプロと聞くとプロシージャのほうを連想してしまう…

357:デフォルトの名無しさん
09/10/22 17:23:40
#define ClearFileTime(fileTime) \
(fileTime).dwLowDateTime = 0; \
(fileTime).dwHighDateTime = 0;

#define ClearFindDataFields(lpFind) \
ClearFileTime((lpFind)->ftCreationTime); \
ClearFileTime((lpFind)->ftLastAccessTime); \
(lpFind)->dwReserved0 = 0; \
(lpFind)->dwReserved1 = 0; \
(lpFind)->cAlternateFileName[0] = '\0';
ftLastModTime.dwLowDateTime =
ftLastModTime.dwHighDateTime = 0;

ftExpiryTime.dwLowDateTime =
ftExpiryTime.dwHighDateTime = 0;

ftPostCheck.dwLowDateTime =
ftPostCheck.dwHighDateTime = 0;
pfdW->dwFileAttributes = pfdA->dwFileAttributes;
pfdW->ftCreationTime = pfdA->ftCreationTime;
pfdW->ftLastAccessTime = pfdA->ftLastAccessTime;
pfdW->ftLastWriteTime = pfdA->ftLastWriteTime;
pfdW->nFileSizeHigh = pfdA->nFileSizeHigh;
pfdW->nFileSizeLow = pfdA->nFileSizeLow;
pfdW->dwReserved0 = pfdA->dwReserved0;
pfdW->dwReserved1 = pfdA->dwReserved1;



358:デフォルトの名無しさん
09/10/22 18:09:56
>>353
folder.copyhere
folderitem.modifydate
でだめか?

359:デフォルトの名無しさん
09/10/22 19:28:35
>354->358
これから夜勤。仕事先のでためしてみるわ
ありがとう。

360:デフォルトの名無しさん
09/10/28 22:21:25
> dir /s /b xxx
ファイルが見つかりません

このエラーメッセージを出さなくするのってどうやるの?
事前にあるかどうかをチェックするというのはなしで。

361:デフォルトの名無しさん
09/10/28 22:37:24
dir /s /b xxx 2>nul

362:デフォルトの名無しさん
09/10/28 23:01:40
const TCHAR CH_NUL = TEXT('\0');
const TCHAR CH_ZERO = TEXT('0');
const INT MAX_EDIT_TEXT = 16;
const INT MAX_CMB_TEXT = 10;
const INT64 MAX_VALUE = ((1i64 << 60) * 6i64);
const INT64 MIN_VALUE = 1024i64;

DBGASSERT((IDS_ORDERMB == IDS_ORDERKB + 1));
DBGASSERT((IDS_ORDERGB == IDS_ORDERKB + 2));
DBGASSERT((IDS_ORDERTB == IDS_ORDERKB + 3));
DBGASSERT((IDS_ORDERPB == IDS_ORDERKB + 4));
DBGASSERT((IDS_ORDEREB == IDS_ORDERKB + 5));

INT64 Value = 0;
INT64 Decimal = 0;
INT xbOrder = e_Byte;
DWORD dwWholePart = 0;
DWORD dwFracPart = 0;
INT Order = XBytes::e_Byte;


363:デフォルトの名無しさん
09/10/28 23:08:33
li r12, 1
slwi r12, r12, n
lwz r11, offsetof_Mask(r3)
and r11, r11, r12
cmpli 1, 0, r11, 0
bc 12, 6, Obj##n
addi r3, r3, 8
addi r3, r3, 12
li r12, n
rlwinm r12, r12, 2, 0, 31-2
lwz r11, 0x4(r3)
lwzx r11, r12, r11
lwz r3, 0(r3)
lwz r2, 4(r11)
lwz r11, 0(r11)
mtctr r11
li r12, n
rlwinm r12, r12, 2, 0, 31-2
lwz r11, offsetof_apfn(r3)
lwzx r11, r12, r11
lwz r3, offsetof_pvObject(r3)
lwz r2, 4(r11)
lwz r11, 0(r11)
mtctr r11


364:デフォルトの名無しさん
09/10/28 23:13:10

OSはWindows XP HomeのSP3です。

一般ユーザ(usersグループ)でshutdownコマンドを
バッチによる自動実行をしたいのですが、
OSの仕様で管理者ユーザ(administratorsグループ)からしか実行
できません。

runasコマンドで、管理者ユーザで実行可能なようですが、
必ずパスワードを入力しなければならないようです。

※XP Homeの場合はrunasコマンドのオプションによるパス
ワード登録?も出来ないみたいです。

パスワード入力なしで、
一般ユーザからshutdownコマンドをバッチで実行する方法はありま
すか?


365:デフォルトの名無しさん
09/10/28 23:20:56
case PowerActionNone:
uiActionId = IDS_NOACTION;
break;

case PowerActionSleep:
uiActionId = IDS_STANDBY;
break;

case PowerActionHibernate:
uiActionId = IDS_HIBERNATE;
break;

case PowerActionShutdown:
case PowerActionShutdownReset:
case PowerActionShutdownOff:
uiActionId = IDS_POWEROFF;
break;


366:デフォルトの名無しさん
09/10/28 23:22:56
GlobalPowerPolicy.user.PowerButtonAc.Action = PowerActionNone;
GlobalPowerPolicy.user.PowerButtonDc.Action = PowerActionNone;
GlobalPowerPolicy.user.SleepButtonAc.Action = PowerActionNone;
GlobalPowerPolicy.user.SleepButtonDc.Action = PowerActionNone;
GlobalPowerPolicy.user.LidCloseAc.Action = PowerActionNone;
GlobalPowerPolicy.user.LidCloseDc.Action = PowerActionNone;
GlobalPowerPolicy.user.GlobalFlags = (ULONG) 0;


367:デフォルトの名無しさん
09/11/01 16:09:33
bat起動時に、Shiftキーが押されていない場合はA.exe
押されている場合はB.exeを実行したいのですが、
キー押下状態の取得がうまくいきません。

@echo off
   ←ここでShiftキー押下状態の取得したいです。
IF ERRORLEVEL 1 GOTO SHIFT_KEY
START "" "D:\My Documents\A.exe"
GOTO END
:SHIFT_KEY
START "" "D:\My Documents\B.exe"
:END

ご存知の方教えてください。

368:デフォルトの名無しさん
09/11/01 16:27:25
>>367
> キー押下状態の取得がうまくいきません。
何をやってうまく行かないのかを、まず書いてくれ。
OSその他の環境情報もだ。

本当は「キー押下状態の取得方法が分かりません」じゃないのか?

369:デフォルトの名無しさん
09/11/01 16:45:31
わからないやつは黙ってろ

370:デフォルトの名無しさん
09/11/01 17:42:07
標準のコマンドのみでは無理
DOS用だとbatuyとかあったけどWin用はしらん

371:デフォルトの名無しさん
09/11/01 18:04:08
URLリンク(www.page.sannet.ne.jp)
キー入力による分岐 ERRORLEVEL

ここらへん使えば出来そうかなぁと。
WinXPです。

372:デフォルトの名無しさん
09/11/01 18:35:42
一から勉強して出直して来い

373:デフォルトの名無しさん
09/11/01 18:40:31
三くらいからで勘弁してください


374:デフォルトの名無しさん
09/11/01 18:47:17
.NET Framework 2.0がインストールされてるなら
以下をCheckShiftKey.jsのような名前を付けて保存し、
コマンドプロンプトで
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\jsc.exe CheckShiftKey.js
を実行してCheckShiftKey.exeを作ればよい。

// CheckShiftKey.js
import Accessibility;
import System;
import System.Drawing;
import System.Windows.Forms;
if (Control.ModifierKeys & Keys.Shift)
    Environment.Exit(1);

375:デフォルトの名無しさん
09/11/01 22:04:39
>>374
import Accessibility;
import System.Drawing;
import System.Windows.Forms;
import System.Diagnostics;
if (Control.ModifierKeys & Keys.Shift) {
Process.Start("D:\\My Documents\\A.exe");
} else {
Process.Start("D:\\My Documents\\B.exe");
}
うまく出来ました。ありがとうございました。スレ違い失礼しました。

376:デフォルトの名無しさん
09/11/02 23:17:03
>>370 標準のコマンドのみでは無理
そんなことはなかろう

377:デフォルトの名無しさん
09/11/03 07:38:47
どうやるの?

378:デフォルトの名無しさん
09/11/03 08:12:03
すまん勘違いだった

379:デフォルトの名無しさん
09/11/03 14:39:20
せっかく解決済みなんだからほっとこーよ

380:デフォルトの名無しさん
09/11/03 15:31:38
すまん余計なお世話だった

381:デフォルトの名無しさん
09/11/03 16:08:05
>>364
タスクスケジューラを使えばできるよ

382:デフォルトの名無しさん
09/11/03 17:04:12
質問してもよろしかったでしょうか?

バッチで標準入力がリダイレトされているか判定できましたでしょうか?

383:デフォルトの名無しさん
09/11/03 20:00:57
はい

384:デフォルトの名無しさん
09/11/03 22:39:51
foo.bat | bar.bar > baz.txt

foo, barが> baz.txtされてるかどうかを検出、分岐するってことなら無理だろ。

385:デフォルトの名無しさん
09/11/04 00:21:16
>標準出力の話じゃないだろ。

386:デフォルトの名無しさん
09/11/04 14:50:20
foo.bat | bar.bar > baz.txt
は知らんが
foo.bat > baz.txt

foo.bat | bar.bat
なら可能だろ。

387:デフォルトの名無しさん
09/11/04 15:25:48
>質問してもよろしかったでしょうか?
過去に遡って質問するわけじゃないのだから、過去について聞くことは無意味だと思うのだが。

388:デフォルトの名無しさん
09/11/04 15:36:16
過去から現在に渡ってよろしいことになっていたかどうかを聞いているので
問題なかろう。

389:デフォルトの名無しさん
09/11/04 20:10:06
>質問してもよろしかったでしょうか?
という質問をした時点で、その質問は過去の事象で、その可否を聞いているのだろう

390:デフォルトの名無しさん
09/11/04 20:20:16
うざ

391:デフォルトの名無しさん
09/11/04 21:04:37
メモ帳(memo.exe)でテキストファイルを開くコマンドを書いたのだが、
バッチを実行するとメモ帳は開くがプロンプトが閉じない。

メモ帳を開いた時点でプロンプトを閉じるにはどうすればよい?

以下バッチの内容
----------------------------------------
C:\Program ~省略~ \memo.exe test.txt
EXIT
----------------------------------------



392:デフォルトの名無しさん
09/11/04 21:08:18
のだが、

またお前か

393:デフォルトの名無しさん
09/11/04 21:10:09
start

394:デフォルトの名無しさん
09/11/04 21:16:20
>>393
ありがとう。
無事できました。

395:デフォルトの名無しさん
09/11/04 22:04:18
うざ

396:デフォルトの名無しさん
09/11/05 17:02:11
>>393
start バッチ
とやってみたのだが、閉じない。

397:デフォルトの名無しさん
09/11/11 19:06:13
test1
test2
test3
test4

という文字の入ったtest.txtがあるとします。

バッチファイルからピンポイントで二行目(test2)を引き出して変数とおくにはどうしたらよいでしょうか?

for /f "skip=1" %%a in (test.txt) do set hensuu=%%a
を使っても、
hensuu=test2
hensuu=test3
hensuu=test4
となってしまい結局変数はtest4になってしまいます。

どなたか教えてください。

398:デフォルトの名無しさん
09/11/11 21:05:24
setlocal enableextensions enabledelayedexpansion
set hensuu=
for /f "skip=1" %%a in (test.txt) do if "!hensuu!"=="" set hensuu=%%a

399:デフォルトの名無しさん
09/11/12 00:20:18
>>398
ありがとうございます!できました!

enableextensionsでコマンド拡張機能を有効にしたからできるようになったってことですか?
コマンド追ってググったりしてもこの文でなぜできるのか理解できないです


400:デフォルトの名無しさん
09/11/12 03:09:59
enabledelayedexpansionで遅延展開を有効にしたから
forの中でsetした変数(hensuu)が参照できるようになっている。
遅延展開が無効だと
if "%hensuu%"=="" の部分がfor実行段階で if ""=="" になって常に真ということになる。

401:デフォルトの名無しさん
09/11/12 11:32:45
>>400

遅延展開を有効にすることでhensuu=test2にその時点でなるから、
if "%hensuu%"=="" には引っかからずにその時点でforを終了させられるという事ですね。
遅延展開についてよく理解できました。
わかりやすいレスありがとうございます。

402:デフォルトの名無しさん
09/11/12 14:18:58
forが終了するわけじゃない。
hensuu=test2となった以降はifが偽になるため何も実行されずにループする。
test.txtの残りが凄く長ければそれだけ終了時間は伸びる

403:デフォルトの名無しさん
09/11/12 18:50:55
>>402
てことは
test3は偽、よって実行なし
test4は偽、よって実行なし



って感じに最後の行になるまでされるわけですか。
だとしたら500行のtest.txtだとこれが500行分されるんですね・・・
やっと完全に理解できました。ありがとうございます


404:デフォルトの名無しさん
09/11/13 22:26:52
そんな無駄なことせんでも

405:デフォルトの名無しさん
09/11/13 22:28:31
for /f "skip=1" %%a in (test.txt) do set hensuu=%%a&goto x
:x


406:デフォルトの名無しさん
09/11/14 00:03:56
遅延展開使わんでも
set hensuu=
for /f "skip=1" %%a in (test.txt) do if not defined hensuu set hensuu=%%a


407:デフォルトの名無しさん
09/11/15 18:09:51
if 条件A or 条件B (
処理1
) else (
処理2
)

ここで「条件A or 条件B」と言う構文はバッチファイルでは使えないんでしたっけ?

408:デフォルトの名無しさん
09/11/15 18:25:03
if/?

409:デフォルトの名無しさん
09/11/15 21:19:54
>>408
解決しました。ありがとうございます。

410:デフォルトの名無しさん
09/11/16 13:00:34
set or=
if 条件A set or=true
if 条件B set or=true
if defined or (
処理1
) else (
処理2
)

411:デフォルトの名無しさん
09/11/17 17:10:49
more|notepad /dev/stdin
みたいなことはできないのですか?

412:デフォルトの名無しさん
09/11/17 23:16:31
echoで2段階にファイル書き出しをしたいのですが、うまくできません。

echo echo start "" コマンド.bat "引数" >B.bat >>A.bat

上記コマンドを実行して、まずA.batに
echo start "" コマンド.bat "引数" >B.bat
を書き出し、その作成したA.batを実行しB.batに
start "" コマンド.bat "引数"
ができるようにしたいのですが、実際には最初のコマンドを実行したところでA.batに
echo start "" コマンド.bat "引数"
のように、 >B.batが抜けた状態で作成されます。

何かいい方法は無いでしょうか。ご教示お願いいたします。

413:デフォルトの名無しさん
09/11/17 23:40:05
こんな感じか?
echo echo start "" コマンド.bat "引数" ^>B.bat >A.bat

414:デフォルトの名無しさん
09/11/18 01:08:33
>>413

当方412ではありませんが、感動しました。
^>を使えばそういう事ができるんですね
差し支えなければ、^のしくみを教えていただけないでしょうか?


415:デフォルトの名無しさん
09/11/18 01:19:52
(^^)

416:デフォルトの名無しさん
09/11/18 11:42:53
>>414
単なるエスケープ文字

417:デフォルトの名無しさん
09/11/18 17:30:23
^^は^をエスケープしてるので
echo (^^)

(^)
となる

418:412
09/11/18 20:00:18
>>413
レス遅くなって申し訳ないです。ありがとうございました!
ばっちり希望どおりの動作をしてくれるようになりました!

>>416>>417
仕組みがよくわかってなかったので勉強になりました。

みなさんどうもありがとうございました。

419:デフォルトの名無しさん
09/11/19 22:15:12
bash とかでいうところの``で囲んだ時のような、コマンドの出力結果をコマンドラインオプションに回す文法はありませんか?

420:デフォルトの名無しさん
09/11/19 23:41:46
for /f "usebackq" %I in (`dir /b`) do echo %I

421:デフォルトの名無しさん
09/11/20 00:28:27
>>420
ありがとうございました

422:デフォルトの名無しさん
09/11/21 01:56:20
usebackqはコマンド中に「'」を使う必要がある時に「'」の代わりに「`」を使うってオプションだろ?
for /f %i in ('dir /b') do echo %i
でいいのに何故わざわざusebackq付けんの?

423:デフォルトの名無しさん
09/11/21 02:15:37
420じゃないけど常に usebackq 付けるようにした方が面倒な事考えなくて済む。

URLリンク(www.atmarkit.co.jp)


424:デフォルトの名無しさん
09/11/21 16:02:45
好みだろ
どーでもいー

425:423
09/11/21 16:20:50
>>424
そう、好み
てか昔ハマッたことがあるから、俺は付ける派

426:デフォルトの名無しさん
09/11/24 13:26:23
外部プログラムを起動させるコマンドを実行すると
そのアプリが終了するまでbatへ制御が戻らないのですが
それを回避することは可能ですか?

427:デフォルトの名無しさん
09/11/24 13:48:22
startコマンドを使う

428:デフォルトの名無しさん
09/11/24 16:10:21
batファイルを分けることなく処理の優先順位を変更する方法があれば教えてください。

429:デフォルトの名無しさん
09/11/24 18:57:10
startコマンドを使う

430:428
09/11/24 19:10:35
>>429
start /b /low :exec ではうまくいきませんでした。
どのように記述すればいいのでしょうか?

431:デフォルトの名無しさん
09/11/24 22:29:40
ところで
URLリンク(itpro.nikkeibp.co.jp)
start /b test.bat
てどういう意味がある?
call test.bat
とは違うの?

432:デフォルトの名無しさん
09/11/25 12:44:00
ウィンドウ開かないだけで、別プロセスのcmd.exeが立ち上がる…んだと思う。

433:デフォルトの名無しさん
09/11/25 20:20:58
>>431
誰が書いたか知らんが、阿呆が意味も分らず、最初のオプション使って、無理矢理、使用例を作っただけなんだろ

434:デフォルトの名無しさん
09/11/25 20:25:13
>>430
goto %1
start /low "" %0 :exec

435:デフォルトの名無しさん
09/11/27 16:18:48
そういやstartって

start file
はokで
start "file"
はngな時があるけどどういう理屈なんだろうか

436:デフォルトの名無しさん
09/11/27 16:27:01
理屈って言う程のことはないよ
start/?見りゃ自明だろ?

437:デフォルトの名無しさん
09/11/27 16:32:00
>>430
wmiのsetpriorityを使え

438:デフォルトの名無しさん
09/11/27 20:12:44
そんなこと言っても難しかろ
startにしとけ

439:デフォルトの名無しさん
09/11/29 02:25:00
data.dat というファイルがあったとして、これを一日に一回
data1129.datみたいに日時をつけてバックアップとして保存していけるようなバッチファイル
作れる方いましたら教えてください

スタートアップに登録するとして、同日に一回でも度ってあったらコピーしないという仕様で

440:デフォルトの名無しさん
09/11/29 03:40:36
if not exist data%date:/=%.dat copy /b data.dat data%date:/=%.dat

441:デフォルトの名無しさん
09/11/29 13:46:20
プロンプト文字にerrorlevel出すにはpromptコマンドにどう書けばよい?

442:デフォルトの名無しさん
09/12/02 15:20:51
これは、結局バッチスクリプトとは関係ないんですけど、copyコマンドでオプションに
/A(テキストモード)を指定しても、BOMありUTF-8のテキストファイルを結合すると
ファイルとファイルの間にBOMが残るんです。
現在はWinXPのコマンドプロンプトでしか試せないんですが、VistaやWin7なら、ちゃん
とBOMを外してくれますか?

443:デフォルトの名無しさん
09/12/02 15:40:21
Vistaでやってみたが、入ってるね
/Aは改行コードしか見ないだろうから仕方がないかも

444:デフォルトの名無しさん
09/12/02 15:44:42
あ、改行とEOFだったかな

445:デフォルトの名無しさん
09/12/02 19:41:05
/A ASCII テキスト ファイルとして扱います。

UTF-8じゃないのに何言ってんだか

446:デフォルトの名無しさん
09/12/02 19:50:38
/Aが改行をどうするって?

447:デフォルトの名無しさん
09/12/02 21:49:14
COPY /8

448:デフォルトの名無しさん
09/12/03 14:30:54
バッチスクリプトならできるが、関係ないな

449:442
09/12/03 18:30:00
>>443
Vistaでも駄目ですか、どなたかWin7の状況を教えて下さい。

450:デフォルトの名無しさん
09/12/03 20:27:40
逆に7でこの挙動が変わってたらおかしいでしょう

451:デフォルトの名無しさん
09/12/03 20:43:06
別におかしくないが?

452:デフォルトの名無しさん
09/12/03 20:46:19
chcp 65001

453:デフォルトの名無しさん
09/12/03 21:15:54
BOM削除してからcopyすれば?

454:デフォルトの名無しさん
09/12/03 21:54:01
ところで^Z削除するのはどうすれば?

455:デフォルトの名無しさん
09/12/04 15:10:43
>>452
フォントを変えるコマンドは?

456:デフォルトの名無しさん
09/12/04 21:47:30
ぐぐれ
まあ変えても解決にはならんが

457:デフォルトの名無しさん
09/12/04 21:58:36
作れ
setconsolefont()
setcurrentconsolefontex()

458:デフォルトの名無しさん
09/12/08 13:13:56
代替コマンドシェルにnyacusなんてのがあるんだな。
cmdと比べると構文が結構まともだ。
PowerShellより圧倒的に軽いしちょっと覚えてみる気になった。

459:デフォルトの名無しさん
09/12/09 03:55:32
nyacus落ちない?数年前に使ったけど、それでやめた。

460:デフォルトの名無しさん
09/12/10 01:06:30
今のところ落ちてないよ。まだ大した使い方してないけど。
最終更新日が先月でまだまだメンテが続いてるね。

461:デフォルトの名無しさん
09/12/11 15:53:24
CMD.exeのfor文は頑張りすぎ

462:デフォルトの名無しさん
09/12/11 18:23:45
runasの/trustlevelってどういうときに使うの?

463:デフォルトの名無しさん
09/12/11 21:14:34
for /F %%a in (filelist.txt) do move "%%a" %dir%
filelist.txtにファイルの一覧をリストアップしてそのファイルをすべて特定のフォルダへ移動したいです
ですがファイル名に半角スペースが含まれていると移動されずにスルーされてしまいます
困ってしまいます
お願いします

464:デフォルトの名無しさん
09/12/11 21:15:18
>>439
>>440
これの改良版で1週間分のみバックアップを残す仕様に出来る方おりませんか?
ファイルが7個以上あった場合、古いものから消していくようになると思うんですが

465:デフォルトの名無しさん
09/12/11 21:25:48
>>463
"delims="

466:デフォルトの名無しさん
09/12/11 21:32:10
>>464
for /f "skip=6 delims=" %%i in ('dir /b/o-d data*.dat') do del %%i

これで新しいものから順に6個を除いたファイルは全部消える

467:デフォルトの名無しさん
09/12/11 21:33:20
>>465
ありがとうございました
助かりました

468:デフォルトの名無しさん
09/12/12 11:52:30
カレントディレクトリを取得するのに

for %i in (.) do set cdir=%~dpnxi

とかやってるんですが、もっとスマートな方法はないですしょうか?

469:デフォルトの名無しさん
09/12/12 12:04:19
%CD%とかじゃ駄目だっけ?

470:デフォルトの名無しさん
09/12/12 15:46:31
フルパスをゲットするなら%cd%でいい
c:\a\b\c\d\thisdir
のthisdirをゲットするなら
%cd:\=&set cdir=%
echo %cdir%
とか。

471:デフォルトの名無しさん
09/12/12 19:32:42
set cdir=.

472:デフォルトの名無しさん
09/12/13 03:10:06
set cdir=.
echo %cdir%
.

ダメじゃんw

473:デフォルトの名無しさん
09/12/13 19:05:35
set cdir=%cd%
echo %cdir%

474:デフォルトの名無しさん
09/12/14 11:07:38
%CD%なんてあったんですね。ありがとうございます。
カレントディレクトリがセットされた環境変数は ありそうだと思って
set<enter>して探したのですが、これにはでないみたいです。

「特殊な環境変数」でググると%CD%以外にもいろいろ知ることができました。


475:デフォルトの名無しさん
09/12/14 14:11:28
set/?

476:デフォルトの名無しさん
09/12/14 14:14:37
カレントディレクトリはドライブごとにある
echo %=c:%
echo %=d:%


477:デフォルトの名無しさん
09/12/14 14:16:28
>>476
知らなかった・・・

478:デフォルトの名無しさん
09/12/14 14:37:09
set,
で=*環境変数も表示

479:デフォルトの名無しさん
09/12/14 14:40:28
2009年も終わろうとしてるのに今更cmdのtipsなんて何の意味がある。
PowerShellに乗り換えようぜ。

480:デフォルトの名無しさん
09/12/14 15:50:56
=::=::\
は何?

481:デフォルトの名無しさん
09/12/14 22:25:59
>>479
PowerShellがNTに載ったらね

482:デフォルトの名無しさん
09/12/15 14:51:01
おまえらスレチガイ
スレリンク(win板)

483:デフォルトの名無しさん
09/12/21 15:23:45
ipアドレスの3ブロック目で判断して、
レジストリを修正するバッチファイルが作りたいのです。

ipconfigしても情報が多すぎるし、
ドット2つの後ってどうしたらいいんでしょう…。

どなたかご教授願います。

484:デフォルトの名無しさん
09/12/21 15:26:03
for /f "delims=. tokens=3" %I in ("1.2.3.4") do echo %I

485:sage
09/12/21 16:36:18
>>484

素晴らしすぎます!!!
というか私の知識不足…頑張り不足…でしょうか。
ありがとうございました!

486:483
09/12/21 19:26:24
お陰様でここまできました。

for /f "tokens=14 delims=: " %%I in ('ipconfig ^| find "IP Address"') do set IP=%%I
for /f "tokens=3 delims=." %%I in ("%IP%") do echo %%I

echo %IP%

ただ、スマートじゃないというかなんというか…。
こんなもんでしょうかね。

487:デフォルトの名無しさん
09/12/21 22:05:22
tokens=14 ってなんじゃそら。
skip=n でn行飛ばせるって知ってるよな?

488:デフォルトの名無しさん
09/12/21 22:55:04
出たか、知ったかぶり。お手並み拝見

489:デフォルトの名無しさん
09/12/22 13:14:33
横からだけど俺的にはアリだな。
tokens=14 を数える事は二度と無いとしても、将来コピペで使い回した時、
このスレでのやりとりを良い思い出として生暖かく思い出せるw

"tokens=2 delims=:" だったら何も心に響かない。

490:デフォルトの名無しさん
09/12/22 17:32:15
OSにもれなくついてくるおまけの機能に多くを求めてはいけない。
メモ帳やペイントに不満を感じるなら勝手に別のアプリをお使いくださいというのがMSの基本姿勢。
不便だろうが欠陥があろうが知ったことではない。

491:デフォルトの名無しさん
09/12/22 17:47:03
delimsを.だけにすれば1行で書けるだろ?
for /f "tokens=?? delims=." %%I in ('ipconfig ^| find "IP Address"') do echo %%I
??は自分で数えろ

492:デフォルトの名無しさん
09/12/22 18:26:46
skipがどうしたって?

493:デフォルトの名無しさん
09/12/22 18:45:11
どんぐりの背比べ

494:483
09/12/22 18:47:08
>>491
ありがとうございました。

for /f "tokens=15 delims=." %%I in ('ipconfig ^| find "IP Address"') do echo %%I

でバッチリ取得出来ました。
これが一番スマートですね。助かりました!

495:デフォルトの名無しさん
09/12/22 18:53:36
バッチごときでスマートって
しまむらで洋服買って自慢してるようなもんか

496:デフォルトの名無しさん
09/12/22 20:09:54
すっぱい葡萄

497:デフォルトの名無しさん
09/12/22 20:45:16
たぶん
for /f "tokens=15 delims=." %%I in ('ipconfig') do echo %%I
でもいける

498:デフォルトの名無しさん
09/12/22 20:53:10
どんぐりの背比べ

499:デフォルトの名無しさん
09/12/22 21:55:38
すっぱい葡萄

500:デフォルトの名無しさん
09/12/23 14:33:10
skipがどうしたって?

501:デフォルトの名無しさん
09/12/26 12:04:04
フォルダを五十音で分配したいのですが、バッチファイルでできるんでしょうか?
1)具体的にはデジカメで写真を撮影した事を想定してください。
  D:\デジカメ写真データ\001.jpg
  D:\デジカメ写真データ\002.jpg
        ・
        ・
  D:\デジカメ写真データ\009.jpg
  D:\デジカメ写真データ\010.jpg
2)それを撮影場所ごとに整理します。(ここまでは人間の手でやります。)
  D:\デジカメ写真データ\きんかくじ(金閣寺)\001.jpg
  D:\デジカメ写真データ\きんかくじ(金閣寺)\002.jpg
  D:\デジカメ写真データ\きよみずでら(清水寺)\003.jpg
  D:\デジカメ写真データ\きよみずでら(清水寺)\004.jpg
  D:\デジカメ写真データ\きよみずでら(清水寺)\005.jpg
  D:\デジカメ写真データ\とうだいじ(東大寺)\006.jpg
  D:\デジカメ写真データ\ほうりゅじ(法隆寺)\007.jpg
  D:\デジカメ写真データ\ほうりゅじ(法隆寺)\008.jpg
  D:\デジカメ写真データ\ほうりゅじ(法隆寺)\009.jpg
  D:\デジカメ写真データ\ほうりゅじ(法隆寺)\010.jpg
3)ここでバッチファイルをくりっくすると
  D:\読み順フォルダ\か行\きんかくじ(金閣寺)\001.jpg
  D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
  D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
とやりたいです。

502:デフォルトの名無しさん
09/12/26 12:08:36
  D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
  D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
  D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
  D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg
  D:\読み順フォルダ\か行\きんかくじ(金閣寺)\002.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\003.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\004.jpg
  D:\読み順フォルダ\か行\きよみずでら(清水寺)\005.jpg
  D:\読み順フォルダ\た行\とうだいじ(東大寺)\006.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\007.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\008.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\009.jpg
  D:\読み順フォルダ\は行\ほうりゅじ(法隆寺)\010.jpg


503:デフォルトの名無しさん
09/12/26 12:12:03
そこまで人の手でやれよ。

504:デフォルトの名無しさん
09/12/26 12:17:13
写真を分類するソフトなら腐るほどある。

505:デフォルトの名無しさん
09/12/26 12:57:24
ゴミの山(Dドライブ)を見てたらすんごいもの見つけたww

URLリンク(codepad.org)

なんかかなり昔作ったVB風の記述でバッチファイルを吐く言語の
ソースファイルっぽいw

今コンパイラ探してる

506:デフォルトの名無しさん
09/12/26 13:04:17
#EXPAND BatchBasic

Sub Main()
  Print("Hello World.")
End Sub

Sub Print(str)
  #NATIVE ECHO %str%
End Sub


507:デフォルトの名無しさん
09/12/26 13:06:23
>>501
できるけど、その程度の代物だったら手作業と大して変わらん手間だろ。

508:デフォルトの名無しさん
09/12/26 14:48:26
>>505
batに生産性を求めてどうする

509:デフォルトの名無しさん
09/12/26 20:27:40
>>508
生産性がよくなるんだろ?

510:デフォルトの名無しさん
09/12/26 22:38:09
管理者として実行されてるか?を判定するには?

511:デフォルトの名無しさん
09/12/27 10:14:31
管理者権限でしかアクセスできないフォルダにアクセスしてERRORLEVELで調べる

512:デフォルトの名無しさん
09/12/27 12:08:47
環境変数比較してみたら管理者権限の場合SESSIONNAMEが定義されてなかったので
それで判別できる? (Vista x64で確認)


513:デフォルトの名無しさん
09/12/27 12:27:56
runas /trustlevel:制限しない rundll32 >nul
echo %errorlevel%

ちゃんと動くかは分からない

514:デフォルトの名無しさん
09/12/27 14:35:24
echo>file
dir/q file

515:デフォルトの名無しさん
09/12/27 15:01:58
mklink a a
echo %errorlevel%

516:デフォルトの名無しさん
09/12/27 16:00:42
net user %username% |findstr "*administrators"

MS謹製のwhoamiに権限表示があった気がする

517:デフォルトの名無しさん
09/12/27 17:58:10
>>516
UACの昇格

518:デフォルトの名無しさん
09/12/27 22:26:55
>>512
Vista 32bit x86でも確認したよー

519:デフォルトの名無しさん
09/12/31 18:56:58
rundll32 shell32,IsUserAnAdmin

520:デフォルトの名無しさん
10/01/04 17:02:50
バッチファイルの引数をプラス記号で繋ぐにはどうしたら良いでしょう。例えば、

start "" iexplore "URLリンク(www.google.com)"

ここの %* を、引数の数に合わせて %1+%2+.... とやる方法です。

521:デフォルトの名無しさん
10/01/04 20:39:55
URLリンク(codepad.org)

エスケープには対応してないから使えるのは英字だけなのでよろしく

522:デフォルトの名無しさん
10/01/04 20:42:43
もっとうまい方法がある気がしてならないのでちょっと晒してみる。

----------ここから
set Param=%1

:loop
if not "%2"=="" set Param=%Param%+%2
shift
if not "%2"=="" goto loop

start "" iexplore "URLリンク(www.google.com)"
----------ここまで

細かい事考えなければこんな感じ?
引数を繋ぐスマートな方法を知りたいです。。。

523:デフォルトの名無しさん
10/01/04 20:44:47
つか誰かHttpEscapeってサブルーチンでも作って

524:522
10/01/04 20:48:01
>>521
そっか、先に shift させた方がずっと美しいや。
参考になりましたです。

525:521
10/01/04 21:06:29
いや、スマートにするのは簡単だけど、

URLリンク(codepad.org)

なんかつまんないなあ。^^;

526:522
10/01/04 21:15:25
>>525
これこれ、こーゆーの求めてました!

ありがとうございました >>521 、きっかけをくれた >>520 にも感謝。



527:520
10/01/05 00:22:01
>>521, 522
お二人ともありがとうございました。
特に >>525 が素晴しく、大変勉強になりました!!

528:デフォルトの名無しさん
10/01/05 01:05:21
そもそもぐぐるなら置換不要

529:デフォルトの名無しさん
10/01/06 18:02:19
そうなの?

530:デフォルトの名無しさん
10/01/10 19:19:39
質問なんですが、
例としてimg001、img002、img003というファイルがあったとして
imgに当てはまるものを一気に削除するというスクリプトはあるでしょうか?

531:デフォルトの名無しさん
10/01/10 19:36:16
delete img*

532:デフォルトの名無しさん
10/01/10 19:47:41
>>531
erase img*

533:デフォルトの名無しさん
10/01/10 20:56:26
>>531-532
「imgに当てはまるもの」→ del img

534:530
10/01/11 01:04:30
>>531-533
ありがとうございます。
delの場合は del img*でいけました。

535:デフォルトの名無しさん
10/01/11 01:16:52
>>531-533
おまえら質問に答えてない
>>530
だれかが作ればある

536:デフォルトの名無しさん
10/01/11 07:58:08
修飾子 %~$PATH: の使い方について質問があります。
引数のファイルを %PATH% から検索し、エクスプローラーで開く
バッチファイルを書いてみました。

---- open.bat ----
set x=%~$PATH:1
if %x% == "" goto eof
start "" explorer.exe /select,%x%
----
使用法: open.bat explorer.exe / open.bat cmd.exe / open.bat msconfig.exe

ここで、拡張子を .exe に決め打ちし、下記が動作するようにするには
どうすれば良いでしょうか。

open.bat explorer / open.bat cmd / open.bat msconfig

537:デフォルトの名無しさん
10/01/11 09:31:51
下記のようにしてとりあえず希望の動作が出来るようになりました。
もう少し一般的な方法があれば教えて下さい。

---- open_mod.bat ----
set x=%~$PATH:1
if not "%x%" == "" goto open
for %%i in (%1.exe) do (
set x=%%~$PATH:i
)
if not exist "%x%" exit

:open
start "" explorer.exe /select,%x%
----

538:デフォルトの名無しさん
10/01/11 14:54:18
for %%i in (%1.exe) do for %%j in (%~$PATH:1 %%~$PATH:i) do start "" explorer.exe /select,%%j

539:デフォルトの名無しさん
10/01/12 18:41:21
for /f %%i in ('where %1') do start "" explorer.exe /select,%%i

540:536
10/01/13 00:43:51
>>538, 539
どちらもすごいです!! たいへん勉強になりました。

541:デフォルトの名無しさん
10/01/13 10:54:58
>>539
これのうち、 'where %1' の部分が良く理解できません。
解説のあるウェブサイトを紹介してもらえないでしょうか。

542:デフォルトの名無しさん
10/01/13 13:14:07
URLリンク(www.atmarkit.co.jp)

543:デフォルトの名無しさん
10/01/13 23:29:11
>>542
やっと理解しました。where は OS のコマンドで、
また for /f in %%変数 (...) の括弧内ではコマンドが使えるのですね。
情報ありがとうございました。

544:デフォルトの名無しさん
10/01/14 23:23:03
%1 %2 ... は%*
%2 ... をまとめて取り出せないかな
バラして組み立てるしかないかな

545:デフォルトの名無しさん
10/01/14 23:26:37
shiftすりゃいいんじゃねーの

546:デフォルトの名無しさん
10/01/15 02:34:52
shift
echo %*

547:デフォルトの名無しさん
10/01/15 07:02:48
これだと %1 も出てくるな…

548:デフォルトの名無しさん
10/01/15 09:28:36
shift /2

549:デフォルトの名無しさん
10/01/15 13:11:40
for /f "tokens=1*"でとれるんじゃねーの

550:デフォルトの名無しさん
10/01/15 13:48:41
shiftじゃできないんじゃねーの

551:デフォルトの名無しさん
10/01/15 19:42:14
for /f "tokens=1*"じゃできないんじゃねーの

552:デフォルトの名無しさん
10/01/15 20:31:47
for /f "tokens=1*" %%i in (%*) do echo %j

553:デフォルトの名無しさん
10/01/15 21:44:02
for /f "tokens=1*" %%i in ("%*") do echo %j
だろ

554:デフォルトの名無しさん
10/01/16 11:29:18
この言語はforの使い方がおかしい

555:デフォルトの名無しさん
10/01/16 15:33:31
ワイルドカードを展開するコマンドにforという名前をつけてしまったのがそもそもの間違い。

556:デフォルトの名無しさん
10/01/16 16:13:29
for /f "tokens=1*" %i in ("1 2 3 4") do echo %j
2 3 4
ほれ

557:デフォルトの名無しさん
10/01/16 17:16:36
for /f "tokens=1*" %i in (""1 2" "3 4"") do echo %j
2" "3 4"
ほれ

558:デフォルトの名無しさん
10/01/18 15:10:32
set a=%*
echo !a:%1=!

559:デフォルトの名無しさん
10/01/19 10:25:24
@echo off
copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg "E:\Back_Up\Donut_RAPT_Default"
@echo
exit


今使ってるバッチファイル(バックアップファイル作成)をまんま↑に載せました。
別段支障は無いのですが、↑だと、1ファイルのバックアップしか出来ませんので、
万一、空ファイルが上書きされてしまった場合、痛いです。

(上記のバッチはドーナツ派は何となくピンと来てくれると思いますが)

そこで、そのリスクを減らす為に、例えば、バッチ処理する度に、ランダムに、例えば・・

Default1.dfg、Default2.dfg、Default3.dfg

のいずれかのファイル名でE:\Back_Up\Donut_RAPT_Defaultフォルダにバックアップをするには
どのようにすれば宜しいでしょうか?

560:デフォルトの名無しさん
10/01/19 11:39:09
ランダムの意味わかってないだろ

561:559
10/01/19 11:52:46
1~3までの数字をアットランダムに付けたいのですが・・。
Default1.dfgというファイル名での保存が、複数回続いても構いません。
(きっちり、1→2→3という順番で、バッチ処理する度にファイル名が変わってくれなくて構わないです)

562:デフォルトの名無しさん
10/01/19 14:36:05
set /a random=%random%%%3+1
copy /y E:\Program\TAB_Browser\DonutRAPT\Default.dfg "E:\Back_Up\Default%random%.dfg"

563:559
10/01/19 15:29:47
>>562
ありがとうございます!
コピー先は直しましたが、まさに目的は叶いました。
本当、感謝です!

564:デフォルトの名無しさん
10/01/19 18:15:40
>>560

>>560

565:デフォルトの名無しさん
10/01/19 19:39:38
>>564


566:デフォルトの名無しさん
10/01/20 13:48:59
サイクリック版作りたかったら作ってみ

567:デフォルトの名無しさん
10/01/23 03:00:27
>>560

>>559の例の場合は3本のくじからの無作為抽出ってことだろ?
ランダムって表現で間違っちゃいない

っつーか、>>562が物語ってるじゃん↓

> set /a random=%random%%%3+1

568:デフォルトの名無しさん
10/01/23 21:44:08
>>567

560は562が書かれる前にレスの内容がわかるエスパーなんですね。

569:デフォルトの名無しさん
10/01/24 05:15:14
別に560の前の時点で、環境変数(%random%)を使えば良いのは判る訳で
そこへ560の質問の意味が解からん

570:デフォルトの名無しさん
10/01/24 12:43:25
iPod nano を購入しようと思っているのですが、nano のランダム再生について質問です。

現在使っている他メーカーのMP3プレイヤーのランダム再生はどうやら、
 再生リストの中からランダムで選び出した曲を決まった順番で再生
しているらしいのです。
例えばフォルダの中にA,B,C,D,Eの5曲がある場合にランダム再生を実行すると、
自動的にA,C,Eを選び出し(ここは流石にランダムで選んでるようです)、
以降、A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します。
実際に少ない曲数で試したことはないのですが、
同じフォルダの中でランダム再生をしているとそのうち、
次に再生される曲がわかるようになるのでたぶん間違いないです。

で、iPod nano のランダム再生はどのような再生方法なのかに興味があります。

理想は、
・一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。
というものです。
フォルダの中にA,B,C,D,Eの5曲がある場合、
最初にBを再生した後は、次に来る曲はA,C,D,Eのいずれかで、
次にAが選択された場合は、次に来る曲はC,D,Eのいずれか、といった再生法を望んでいます。
iPod nano の購入の参考にしたいので、
詳しくわかる方いましたらよろしくお願いします。


571:デフォルトの名無しさん
10/01/24 12:44:52
iTunesとiPodの場合「ランダム」ではなく「シャッフル」と呼び、
その呼び名の通り曲順をシャッフルして再生する機能になります。
1曲ごとに再生する曲を対象全体からランダムに選ぶのではなく、
最初に対象全体をシャッフルして混ざったリストを作りそれを順番に再生する、
つまりトランプをシャッフルしてから一枚づつめくっていく様な感じになり、
あなたの希望の様に
「一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。」
と言う状態になります。
iTunes上でプレイリストを選択した状態で左下のシャッフルボタンを
押してみると、リスト内でシャッフルしてそれを順に再生している事が
よく分かると思います。
(その際画面表示のソート順を通常なら左端にある曲順の数字欄に
しておかないとシャッフルされる様子が見れません。曲の上部に
「名前」や「アーティスト」、「アルバム」等と書いてある左端の部分を
クリックして三角が出ている状態です。その灰色のバー部分の
どこをどうクリックするかで画面上の並び順が変わります。)

この様に「シャッフルされたリストを作る」と言う機能なので、そのリスト内で
曲を前や後ろに飛ばしてもまた同じ部分では同じ順番で再生されます。
シャッフル機能を切って入れ直すか、最初の曲から前に飛ばしたり、
最後の曲を終わりまで再生したりすればシャッフルし直されます。

自分は普段まずシャッフル再生はしないので、今ちょっと試してみた
結果を見て回答したので、何か間違いがあるかもしれません。


572:デフォルトの名無しさん
10/01/24 12:45:56
回答ありがとうございます。

iTunesと同じなのであれば、
「再生回数」という項目もあるから、これでも確認できますね。
全部再生回数が0回の状態で再生し、
しばらくしてから再生回数を見て、飛びぬけて再生回数が少ない・多いものが無いことを確認する。

iTunesではメニューの方の「シャッフル」をよく利用します。
(下にシャッフルボタンがあるのは知らなかった…)
確かにこれは「リピートする」にチェックを入れておかないと、一巡したところで終了するので私の望んでいるタイプです。

まぁ重要なのは本当にiTunesとiPodの再生方式が同じなのか、というところですが、
同じじゃない方が不自然ですよね。

ありがとうございました。


573:デフォルトの名無しさん
10/01/24 12:47:04
iPodはiTunesを持ち歩く為に作られたものですから、基本はiTunesと同じだと思っていいと思いますよ。

コンピュータでのランダムは疑似乱数関数を利用しているのが一般的です。
疑似と頭に付くように実は完全なランダムではありません。与えるパラメーターが同じなら結果は全く同じになります。
実際の利用では、パラメーターに現在の時刻を1/100秒単位で指定します。
毎回再生ボタンをコンマ何秒の単位で全く同じく押すなんて事不可能ですから、同じ順番になることはなくランダムだと言って差し支えないでしょう。


> 同じ曲ばかりを繰り返します。
一般的にプログラム上では、順番は疑似乱数でランダムに決め、更に同じ曲が出ないようにする工夫もなされています。

実際にはランダムだけど、同じようなのを繰り返したり、次のが予想した通りだと思えるのは人間の特性が関係しています。
聞き流している時には好きな曲は印象が強く残りますが、そうではない曲は聴いても記憶に残りにくいものです。
ランダム再生していると、好きな曲ばかりが印象強く残って、前にも聴いたなとか、同じのばかりかかっているなと勘違いしてしまいます。

実際に聴いて確かめるのではなく、ランダム再生時の曲名を順番に書き出してみるとわかります。
聞き流していると錯覚してしまうし、時間もかかりますからね。

> A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します
そういうプログラムがされている可能性も否定はできませんが、錯覚である可能性もあります。

574:デフォルトの名無しさん
10/01/24 12:48:00
回答ありがとうございます。

>> 同じ曲ばかりを繰り返します。
>一般的にプログラム上では、順番は疑似乱数でランダムに決め、更に同じ曲が出ないようにする工夫もなされています。
基本的にどのメーカーでも、ランダム再生のロジックは同じはずだ、という意味でしょうか。
そうだと良いのですが。
自分もほんの少しだけプログラミングには触ったことがあるので、
完全なランダム再生は難しくないのになんでこのMP3プレイヤーはこうなんだ!とか一人で憤慨しています。


>> A,C,E,A,C,E,...のように、同じ曲ばかりを繰り返します
>そういうプログラムがされている可能性も否定はできませんが、錯覚である可能性もあります。
確かめたわけじゃないので、確かに錯覚の可能性もあります。
それなのに言い張ったところで説得力は無いのですが、
「また同じ曲だ」「これはさっき聞いたばっかりだ」とか、曲単位で耳に残るのではなく、
曲Aがフェードアウトした後に始まるイントロは曲Cだ、という「つながり」が耳に残るんですよ。
そこから「いくつかの同じ曲を同じ順番で再生している」と思っています。
あくまで「思っている」です。

本題?のiPod購入は、前向きになっています。

575:デフォルトの名無しさん
10/01/24 12:49:04
>>569
俺は>>560が書かれてた時点でスレ見てスルーして次見たのが今だけど、
560の時点じゃ同感だったよ。ちゃんと読んでればいずれかと書いてるから
言葉の使い方間違ってるわけではないとわかるけれど。

流し読みすると 1→2→3 と要求してるように見えて
ランダムって違うんじゃね?と思ったわな。

560=562だったとしても何も驚かんけどな。

576:デフォルトの名無しさん
10/01/24 12:50:06
>・一度流した曲は、再生リスト内の曲を全て再生するまでは再生しない。

自分の経験上ではそうなっていると思います。
もちろん、電源が完全にオフになるとどこまで再生していたかはリセットされますが、少なくとも連続して聞いている時に同じリスト内の曲が再度かかることはないですね。
iTunesで曲を追加したり並び順を替えてもiPod側の再生順は変わりますし、1度PCに接続すると同じプレイリストを先頭から再生しても順番が変わっているように思います。

ただし、iPodやiTunesの「ランダム」というのは「万遍なく」という意味ではなく「目茶苦茶」という意味ですので、同じアーチストの曲が連続したりすることもあれば、プレイリスト内の次の曲がそのまま再生されたりもします。文字通り「目茶苦茶」です。

577:デフォルトの名無しさん
10/01/24 16:39:24
ランダムフェチ?

578:デフォルトの名無しさん
10/01/24 19:16:09
トラウマ?

579:デフォルトの名無しさん
10/01/25 16:51:51
こんな感じで書かれてるテキストファイルがあるんだが。

【現在】
C:\aaa/aaa/aaa.zip
C:\aaa/bbb/zzz.zip
C:\aaa/ccc/bbb.zip
 :
 :

パスで見ると並び順は正しい。
けど、このテキストをファイル名でソートしたい。

【希望順】
C:\aaa/aaa/aaa.zip
C:\aaa/ccc/bbb.zip
C:\aaa/bbb/zzz.zip
 :
 :

どうしてもバッチでやりたい変態です
バッチ単体じゃ無理かね

580:デフォルトの名無しさん
10/01/25 17:15:47
以下のようなテキストファイルがあります。

C:/aaa/bbbb/cccccc.zip
C:/bbb/ddd/aaaa.zip
C:/ccc/eeeeee/bbb.zip

パス的に見れば並び順は正しいですが、
これをファイル名順に並び替えたいのです。

C:/bbb/ddd/aaaa.zip
C:/ccc/eeeeee/bbb.zip
C:/aaa/bbbb/cccccc.zip

どうしてもバッチ単体で処理したい変態です。
無理ですかね…

581:デフォルトの名無しさん
10/01/25 19:32:21
del tmp?
for /f %%I in ('type hoge.txt') do echo %%~nxI?%%I>>tmp1
sort tmp1>tmp2
for /f "delims=? tokens=1*" %%I in ('type tmp2') do echo %%J>>tmp3
type tmp3

582:デフォルトの名無しさん
10/01/25 19:52:02
setlocal enableextensions enabledelayedexpansion
del tmp.txt
for /f "delims=" %%i in (lstb.txt) do ( echo %%~nxi %%i>>tmp.txt )
del out.txt
for /f "tokens=1,* delims=:" %%i in ('sort tmp.txt') do (
set a=%%i
echo !a:~-1!:%%j>>out.txt
)
del tmp.txt

583:デフォルトの名無しさん
10/01/25 20:48:04
一時ファイル使わんとでけんのか?

584:デフォルトの名無しさん
10/01/25 21:22:56
>>581
%%~nxI ?%%I
とすればいいよ
もし<tab>が入力できれば
%%~nxI<tab>%%I
delims=<tab>
でもいいが難度が高いかな?

585:デフォルトの名無しさん
10/01/25 22:12:16
>>584
?????

586:デフォルトの名無しさん
10/01/25 23:12:59
sort順だろ
%%~nxI?%%I
だと数字が?より前になる
%%~nxI ?%%I
なら数字が より後ろになる

587:デフォルトの名無しさん
10/01/26 00:51:04
そこまで考えてなかった

588:デフォルトの名無しさん
10/01/26 02:28:17
ぶっ

589:デフォルトの名無しさん
10/01/26 12:25:06
>>586
sortコマンドの並び替えはascii順じゃないので数字より前に?が来る。

タブもNG。ソート順ではスペースが前に来るんで、スペース入りのファイル名があると
おかしくなる。

多分sortでファイル名に出来ない文字で一番若いのは(0f)
区切り文字をこれにしたらとりあえずokみたい。

590:デフォルトの名無しさん
10/01/26 12:28:24
書き込んだら文字消えたorz
コマンドプロンプト上ではアスタリスクみたいに見える文字(外字?)

591:デフォルトの名無しさん
10/01/26 14:56:08
^a
二重線の「
が最初

cscript hoge.vbs|sort

for i=0 to 25
wscript.echo chr(i),i
next
for i=27 to 127
wscript.echo chr(i),i
next


592:デフォルトの名無しさん
10/01/26 19:53:21
どっちもメモ帳で入力できない

593:デフォルトの名無しさん
10/01/26 20:41:27
コマンドプロンプト上からecho ^A>>hoge.bat とか。
^AはCtrl+A

594:デフォルトの名無しさん
10/01/26 22:06:24
メモ帳で入力できるものを使えば?


595:デフォルトの名無しさん
10/01/29 18:36:32
ショートカット作ってアイコン変えると窓のアイコンが変わってくれるけど
バッチファイル中から自力でアイコン変える方法ってないですか?
フリーウェア等の外部ツールでもいいんですが。

596:デフォルトの名無しさん
10/01/31 22:42:41
ある

597:デフォルトの名無しさん
10/01/31 22:51:11
バッチファイル内で変数を保存?する方法について教えてください。
最初にパラメータとして渡されたファイル(例としてhogehoge.txtとします)を
INPUTFILE=%~dpnx1
としたあとで、
RENコマンドでインプットファイルをリネームしています。
例としてhagehage.txtに変更したとします。次に
CALL hogehoge.BAT "%INPUTFILE%"
を呼び出して戻ってきた後で
再度もとの名前に戻そうと
REN "hagehage.txt" "%INPUTFILE%"
とすると、%INPUTFILE%がhogehoge.txtから途中でリネームしたhagehage.txtに変わってしまっています。
どうにかリネームしてもhogehoge.txtを保持する方法は無いでしょうか。

バッチファイルは中間言語方式だったことを思い出してorz状態です。

598:デフォルトの名無しさん
10/01/31 22:57:12
あほ

599:デフォルトの名無しさん
10/01/31 23:10:23
>>597
無理して日本語を使わなくてもいいですよ。
BATでおk

600:デフォルトの名無しさん
10/01/31 23:46:03
ほんじゃBATコピペ
最初に受け渡されたファイルネームはhogehoge.txtとします。
@ECHO ON
SET INPUT=%~dpnx1
SET INPUTPATH=%~dp1
SET INPUTFILE=%~nx1
REN "%INPUT%" "hagehage.txt"   REM ここでhagehage.txtにファイルネーム変更
CALL %EXECNAME% "c:\hagehage.txt"
REN "%INPUTPATH%hagehage.txt" "%INPUTFILE%" REM ここでhogehoge.txtに戻そうとしてもINPUTFILEにhagehage.txtが入ってる。

最後の%INPUTFILE%の中身がいつの間にか新ファイル名に変わってるので困っております。

601:デフォルトの名無しさん
10/01/31 23:58:51
callした先で書き換えちゃってるんだろ
call先でsetlocal ~ endlocalしとけ

602:デフォルトの名無しさん
10/02/01 00:00:36
追記
call先のファイルをいじれないんだったらcallの呼び出しをsetlocal~endlocalで囲む

603:デフォルトの名無しさん
10/02/01 00:03:46
そうかcallの前後をsetlocal ~ endlocalしとけ

604:デフォルトの名無しさん
10/02/01 00:24:56
>>601
Danke.

605:デフォルトの名無しさん
10/02/01 08:43:15
存在するファイルが無いと怒られるんだがなして?

IF EXIST %INPUTPATH%work.tmp tmpdel
IF EXIST %INPUTPATH%work.temp tempdel
ECHO %INPUTPATH%work.tmp %INPUTPATH%work.temp
echo そんなファイル無いんじゃゴルァ


これも試したけど駄目だった。
ファイルは絶対に存在する。
IF EXIST %INPUTPATH%work.tmp goto tmpdel
IF EXIST "%INPUTPATH%work.tmp" tmpdel
IF EXIST "%INPUTPATH%work.tmp" goto tmpdel

606:デフォルトの名無しさん
10/02/01 11:12:49
%INPUTPATH%
が \ で終わっていないに 1000ガバス。

とりあえず
IF EXIST "%INPUTPATH%\work.tmp" goto tmpdel
じゃないか?

607:デフォルトの名無しさん
10/02/01 11:22:30
606で終わってるけど質問する前に
echo onするなり
echo IF EXIST %INPUTPATH%work.tmp goto tmpdelするなりして
何をチェックしようとしてるのか確認しろ

608:デフォルトの名無しさん
10/02/01 14:25:44
>>606
いや、\は付いてる

609:デフォルトの名無しさん
10/02/01 14:59:02
>>598

610:デフォルトの名無しさん
10/02/01 16:29:43
>>608
work.tmp が wark.tmp とか work,tmp なのが原因でファイルが存在しないに 1200カパズ。
for の中で遅延展開してない、に 1500ガバス。

そもそも 607 のアドバイスのように echo の結果はどうなのよ?
まさか、表示が流れて読めません、とかいう訳じゃないんでしょ?

611:デフォルトの名無しさん
10/02/01 16:46:46
ここに書いた例と実際のバッチが全く別物とか。

612:デフォルトの名無しさん
10/02/01 17:32:55
>>610
echoの結果も同じ。
なんでだろ?

613:デフォルトの名無しさん
10/02/01 18:08:04
同じって言葉じゃなくて具体例を出せよw

実際に使ってる内容晒したらエラー出て当たり前って内容かもしれないだろ。
おまえさんがその当たり前に気付いてないだけで。

614:デフォルトの名無しさん
10/02/01 19:52:01
そもそもバッチファイル理解できてる?
よければ問題が起こる最小限のコード全体を貼ってくれ

615:デフォルトの名無しさん
10/02/01 21:30:59
delするのに存在確認は不要だろあほか

616:デフォルトの名無しさん
10/02/01 22:11:39
カレントディレクトリから一つ下のサブディレクトリ名を取得する。
それを引数としてあるバッチに渡す。
以上を一つ下のサブディレクトリ全てについて実行するバッチって作れますか?
WSHの方が良いですか?


617:デフォルトの名無しさん
10/02/01 22:41:36
>>613
試しに
ECHO "%INPUTPATH%hogehoge.txt"
としたら
C:\hogehoge.txt
と¥付きで表示される。

618:デフォルトの名無しさん
10/02/01 23:51:27
ありぃ?
分かった。
直前で作ったファイルが書ききれていなかったっぽい。
TIMEOUT1秒入れたらEXISTで見えるようになった。

619:デフォルトの名無しさん
10/02/02 01:13:03
>>616
for /d %%I in (*) do (
echo call exec.bat %%I
)

620:デフォルトの名無しさん
10/02/02 01:33:15
>>619
すげぇ!こういとも簡単にできるとは…。
ありがとうございます。

621:デフォルトの名無しさん
10/02/02 01:44:36
すまん。最後にもう一つだけ教えてください。

SET INPUT=%~dpnx1
ECHO %INPUT%
pause

これだけのバッチファイルを作って、このファイルに適当なファイルをD&Dしたら
ファイルネームがフルパスで表示されると思う。

でも、どこでもいいから適当なフォルダに長江 6380.txtってファイルを作って
さっきのバッチファイルにD&Dしてみてくれ。
長江で切れてしまうと思う。

これを回避するにはどうしたらいい?

622:デフォルトの名無しさん
10/02/02 02:06:53
切れてないよ

623:デフォルトの名無しさん
10/02/02 03:22:16
長江は長過ぎる 黄河にしとけ

624:デフォルトの名無しさん
10/02/02 08:41:12
>>622
嘘お?
PC3台とも切れるんだが?
ちなみにスペースは全角な。

>>623
さぶぅ

625:デフォルトの名無しさん
10/02/02 10:37:47
バッチファイルは全角半角スペース混じりのファイル名を正しく扱える(必要な時にちゃんと""で囲めば)。
そのコードで問題が出るなら明らかに呼び出し側の問題。

626:デフォルトの名無しさん
10/02/02 12:24:52
>>625
試しにecho "%INPUT%"
をしても同じ

627:デフォルトの名無しさん
10/02/02 12:32:11
>>621
普通なら切れない。

切れるとしたらbatファイルの関連付けでドロップハンドラが壊れているんだろう。

628:デフォルトの名無しさん
10/02/02 15:12:55
こういう話だろ
URLリンク(scripting.cocolog-nifty.com)

629:デフォルトの名無しさん
10/02/02 15:59:28
>>627
pgr

630:デフォルトの名無しさん
10/02/02 16:36:56
>>621
半角で例示したりして芸の細かいこと

631:デフォルトの名無しさん
10/02/02 19:55:37
バッチファイルにD&Dなんてするなよ
素直にコマンドプロンプトで打てばいいじゃん

632:デフォルトの名無しさん
10/02/02 21:10:28
どこでもいいから適当なフォルダに長江&shutdown 6380.txtってファイルを作って
さっきのバッチファイルにD&Dしてみてくれ。

633:デフォルトの名無しさん
10/02/02 23:39:00
>>628
ありがと。

>>631
長いバッチで自動化したいから無理なのら。

>>632
さぶぅ。
雪降らせたのお前か。

634:デフォルトの名無しさん
10/02/03 02:14:36
バッチファイルにD&Dするかぎり無理なのら。

635:デフォルトの名無しさん
10/02/03 02:42:21
ドロップハンドラ作ればええのら。

636:デフォルトの名無しさん
10/02/03 14:35:34
Drop on Scriptのドロップハンドラは?

637:デフォルトの名無しさん
10/02/05 14:35:40
累乗計算バッチだるす。

638:デフォルトの名無しさん
10/02/05 21:19:53
2の3乗
3の3乗

639:デフォルトの名無しさん
10/02/07 14:26:03
初歩的な質問ですみません。とてつもなく初心者です。

kaigi_20100205.txt
kaigi20100206,txt
20100207kaigi.txt
のようなファイルをrenでリネームさせて、

会議_20100205.txt
会議_20100206.txt
会議_20100207.txt
のように統一させたいと思い、
色々と見よう見真似で
rename.datファイルに

ren kaigi*.txt 会議_*.txt
ren *kaigi.txt 会議_*.txt
といれてみたのですが、

会議_00207kaigi.txt
会議_gi20100206.txt
会議_gi_20100205.txt
という状態になってしまいました。
これは自分のワイルドカードの使い方が根本的に間違っているのでしょうか?
どなたかご教授お願いいたします。

640:デフォルトの名無しさん
10/02/07 15:23:12
ワイルドカードはファイル名を保持してない

641:デフォルトの名無しさん
10/02/07 16:48:59
「kaigi_*.txt」にマッチしたファイル名を「会議_*.txt」がマッチするように書き換えるのであって、
「会議_(kaigi_*.txtの*に相当する部分文字列).txt」というようにはならない。
そしてdosには「*に相当する部分文字列」を取得する機能はないので、
setなどを利用して、自分で作ってやらなければならない。
例えばこんなふうに:

@echo off
setlocal
set NAME1=%~n1
set NAME2=%NAME1:_=%
if "%NAME1:~0,5%" == "kaigi" (
    echo 会議_%NAME2:~5%.txt
) else if "%NAME1:~-5%" == "kaigi" (
    echo 会議_%NAME2:~0,-5%.txt
)


642:デフォルトの名無しさん
10/02/07 17:33:56
@echo off
for %%i in (kaigi*.txt) do (
set NAME=%%i
call ren %%i %%NAME:kaigi=会議_%%
)
for %%i in (*kaigi.txt) do (
set NAME=%%i
call ren %%i 会議_%%NAME:kaigi=%%
)


643:デフォルトの名無しさん
10/02/07 19:24:58
setlocal enabledelayedexpansion
for /f %%I in ('dir /b *kaigi*.txt') do @(set a=%%I
set a=!a:kaigi=!
set a=!a:_=!
ren %%I 会議_!a!)

644:デフォルトの名無しさん
10/02/07 19:44:18
>640-643
みなさん、ありがとうございます!
試してみましたところ、ばっちり動作しました。
ただ、ばっちり動作しますがプログラムの挙動を自身がまだ理解できてない状態なので
これらを元に色々調べてプログラムを練ってみたいと思います。

645:デフォルトの名無しさん
10/02/10 00:23:41
5スレ目でいうのもなんか変だが、

コマンド シェルの概要
URLリンク(technet.microsoft.com)(WS.10).aspx

Windowsヘルプにもあるし、OSごとにリンク先違うけど、ここらへんがテンプレにあっても良くないか?

コマンド ライン リファレンス
URLリンク(technet.microsoft.com)(WS.10).aspx
バッチ ファイルを使用する
URLリンク(technet.microsoft.com)(WS.10).aspx
こっちは、上からリンクあるからイランと思うけど。

646:デフォルトの名無しさん
10/02/10 00:24:35
コマンド シェルの概要
URLリンク(technet.microsoft.com)

アチャー

647:デフォルトの名無しさん
10/02/10 00:25:38
orz

648:デフォルトの名無しさん
10/02/10 09:53:38
自分の使ってるOSのヘルプならいつでも見れるはずだが、
ヘルプすら読まずに質問するやつが多すぎるという嫌味?

649:デフォルトの名無しさん
10/02/10 13:59:37
>>646
Runasなんてあったのかー

650:デフォルトの名無しさん
10/02/10 15:52:52
MSのヘルプは探すのが面倒

651:デフォルトの名無しさん
10/02/10 16:15:51
ヘルプより掲示板で聞いた方が早いし楽

652:デフォルトの名無しさん
10/02/12 01:00:53
WindowsXPのコンソールで、
unixでいうところのsmbclientを使うには、
どのようにしたらよいでしょう?
smbはもともとWindowsのプロトコルで、GUIに統合されているため、
smbclientのコマンドラインプログラムというのがあるのかないのか、
よくわからないのですが、
パスワードつきの他のマシンに起動時に自動接続するのに、
ネットワークドライブに割り当てただけではだめだったので、
それならコンソールでコマンドを実行して接続するか、と考えました。
ご存じでしたらアドバイスをお願いします。


653:デフォルトの名無しさん
10/02/12 01:04:43
net

654:デフォルトの名無しさん
10/02/12 01:21:50
>>653
thanks

655:デフォルトの名無しさん
10/02/14 03:13:43
MSのヘルプは詳しいのと詳しくないのと差があるからな
makecabとかまったくわからんしfsutilとか独自すぎて笑える
cmdのヘルプもわかりにくい部類になるだろう
書いてあるのかないのかよくわからんことも多いし

掲示板のほうが楽しいとかはさすがにあれだがw

656:デフォルトの名無しさん
10/02/14 21:54:55
あのさあ...
objShell.Run "コマンド1 | コマンド2 | sort"
とかをスクリプトでするとしましょう。
そのとき、途中のコマンドが
.vbs とか .wsf の//job:XXX として、
そのなかに Wscript.Sleep 100 があるとパイプラインが詰まる?
ことないですか?


657:デフォルトの名無しさん
10/02/14 22:37:57
それ詰まるもなにもパイプラインにならんだろ?


658:デフォルトの名無しさん
10/02/14 22:48:45
えー...。 ごめーん
コマンド1 とかは
Cscript //nologo XXX.vbs で、
XXX.vbs や YYY.wsf //job:ZZZ 内部では
Wscript.Echo とか Wscript.StdOut.WriteLine 使用

ではどうだろう。
あげたれ


659:デフォルトの名無しさん
10/02/14 23:07:30
コマンド1がパイプラインの機能を持ってるのか?という話だが?
cmd /cならパイプラインの機能を持ってるが?

660:デフォルトの名無しさん
10/02/14 23:29:58
あああ、そのとおり
objShell.Run "cmd.exe /c " & "コマンド1 | " & ...
でした。

で、コマンド1にWscript.Sleep 100 があるとコマンド1で止まっちゃうような。
気がするのです

661:デフォルトの名無しさん
10/02/15 00:09:24
ないです

662:デフォルトの名無しさん
10/02/15 21:36:31
ないですね。はてな

663:デフォルトの名無しさん
10/02/16 13:52:42
教えてください。

set AAA=D:\WORK

set FOLDER=%1
set INFNAME=%2
set OUTFNAME=%3

set INFPASS=%FOLDER%\%INFNAME%
set OUTFPASS=%FOLDER%\%OUTFNAME%

copy %INFPASS% %OUTFPASS%

で、%1に「AAA」を渡した場合に、FOLDERに%AAA%が設定され、
結果的に%FOLDER% が D:\WORK となる事は可能ですか?

664:デフォルトの名無しさん
10/02/16 14:29:10
>>663
こんな感じかな?
× set FOLDER=%1
○ call set FOLDER=%%%1%%

665:デフォルトの名無しさん
10/02/16 18:01:21
>>664
できました。ありがとうございました。

666:デフォルトの名無しさん
10/02/27 11:20:25
質問させてください。
パソコンちょっと詳しいからということで、会社の
ネットワーク管理者にされてしまいました。
運の悪いことに、次年度からパソコンの更新が行われ、
Windows XP→Windows 7にOSも変更になりました。
前任の人がWindows XP環境でログインしたときに、
仕事でよく使うフォルダへのショートカットを
ログイン時のバッチファイルで表示させていたのですが、
Windows 7では動作しないみたいなのですorz
Windows 7でバッチファイルでファイルのショートカットを
デスクトップに表示させるにはどうしたらいいでしょうか?
いろいろググッてみましたが、それ用のフリーソフトが
あるみたいなのですが、Windows 7では動きそうにないんです...

667:デフォルトの名無しさん
10/02/27 13:05:03
スレリンク(win板)
管理者スレ

668:デフォルトの名無しさん
10/02/27 13:08:37
回答させてください
>ログイン時のバッチファイルで表示させていたのですが、
>Windows 7では動作しないみたいなのですorz
動作するかしないかはっきりさせろ!
実行してみりゃどういうエラーが出てるかわかるだろ?

669:デフォルトの名無しさん
10/02/27 13:23:23
>>668
前任の人の設定のままでXPのマシンをログインすると
ちゃんとショートカットでるのですが、7だと、
エラーメッセージも出ず、スルー状態なんです。
(つまり何もおきない)
他のソフトインストールして試して見ます。
このスレの人で、ショートカット表示
させるコマンドライン知っている人い
ましたら、ご教示ください。
おながいしまつ。

670:デフォルトの名無しさん
10/02/27 14:29:35
ドメインへのログオンスクリプトならポリシーの適用してない/できてないとか。
そもそもhomeでドメインに参加できないとか。
ショートカット表示の意味がわからない。
エクスプローラ上で表示させる事なのか、リモート資源の接続先をポップアップさせる事なのか。
とにかく5W1Hで明確に書いてくれないと全くわかんね。

671:デフォルトの名無しさん
10/02/27 15:20:16
>>670 多分668さんも同一人物
とても親切にしていただいてありがとうございます。
前の設定者はドメインに参加する時点で、windows 2003 server
のActive Direcrory処理の際に、ログオンするときのバッチファイルに
デスクトップにショートカットを表示させるようにしてたみたいです。
というのも、管理者以外はディレクトリ構造も知らないので、
それを全員に分からせてセキュリティレベルを下げるより、
自動的にショートカットを表示してクリックさせるという形に
したようです。確かにパスを追っていけばそのファイルに到達しますが、
わざとそうさせないみたいです。(その方針には私も賛成します)
長文すみません。

672:デフォルトの名無しさん
10/02/27 15:22:13
で、デスクトップへ通常使うけど、
パスを探られたくないフォルダへの
ショートカットを入れたいということです。
パソコンしかさわったことないので、
こういう具体的かつ実践的なご指摘はとても
勉強になります。ありがとうございます。

673:デフォルトの名無しさん
10/02/27 17:01:32
ポリシー設定のなかにもデスクトップの表示に関する項目があった気がする
このスレ的にはログオンスクリプトの中でNET USEで接続しているんだろうな位・・・もしかするとSUBST?

674:デフォルトの名無しさん
10/02/27 17:24:57
ありがとうございます。
明日は日曜ですが、隠れ出社して試してみます。

675:デフォルトの名無しさん
10/02/27 19:12:15
バッチからショートカットを作るのはむずかしかろ
インターネットショートカットならかんたん
(
echo;[InternetShortcut]
echo;URL=\\server\sharename\folder
) > desktop\hoge.url

676:デフォルトの名無しさん
10/02/27 19:34:54
どういう風に作ってたかしらんけど、フォルダ構造が変わったからじゃないの?
大抵は新しいパスへリダイレクトしてくれるけど、AllUsers→Publicの部分はうまくいかない模様

XP以前:C:\Documents and Settings\All Users\Desktop
Vista以降:C:\Users\Public\Desktop

677:デフォルトの名無しさん
10/02/27 20:15:31
>>676
さすがに会社のサーバ?でユーサフォルダ以降のフォルダ使わないだろw
まさか、な・・・?

678:デフォルトの名無しさん
10/02/28 00:15:40
>>675-677
ヒントありがとうございます。
まさかもありえるのでちょっとやってみます。

679:デフォルトの名無しさん
10/02/28 05:55:24
規模にもよるけど引継ぎ書とか運用手順書とか必要でしょ。
次の人に渡すにしても。
前任者に要求しとかないとまずいね。

680:デフォルトの名無しさん
10/02/28 12:55:36
「ログオンするときのバッチファイル」を、クライアントのWindows7マシン上にコピーして
コマンドラインから実行してみたらエラー内容が分かるんじゃない?

681:デフォルトの名無しさん
10/02/28 18:47:20
みなさんありがとうございます。
バッチファイルが別のバッチファイル呼び出すような
入れ子構造になっていることが判明し、解析に手間取ってます
というか、そもそもDOSのコマンド知らないorz
一から調べていますので少々時間くださいまし。

682:デフォルトの名無しさん
10/03/03 19:37:11
みなさんヒントありがとうございました。
2ch落ちたので、その間にいろいろ調べて
見ました。問題が2点あって、一つが
>>676 さんのご指摘に近く、
Xp「デスクトップ」→7「Desktop」
Xp「NetHood」→7「AppData\Roaming\Microsoft\Windows\Network Shortcuts」
Xp「スタート メニュー\プログラム」→「Microsoft\Windows\Start Menu\Programs」
に書き換えるのと、
>>670 673 さんのご指摘に近く、
Xpだとアクセス権のないフォルダ内の実行ファイルも実行できていた
のが、7だとアクセス権がないフォルダのファイルはスルーされること
が問題で、それらを訂正したら何とか動いてガッツですた。
(3日かかりますた。)

ちなみに、それで0からDOSコマンド勉強始めたのですが、
前任者は、ショートカットをアクセスされてもいいフォルダにつくって
そのショートカット自体をファイルとしてコピーするということで
ショートカットの自動表示をしていました。
大変勉強になりました。また、機会がございましたら、
質問させていただければ幸いです。
(ここから後は管理者スレの内容になりそうなので、
純粋にバッチファイルに関する内容の時にまた来ます。)

ありがとうございました。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch